home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 25
/
AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso
/
PublicDomain
/
Spiele
/
GalagawarsV1_5
/
GWars
/
Galagawars.English.asc
< prev
next >
Wrap
Text File
|
1999-11-13
|
107KB
|
3,590 lines
NoCli
WBStartup
;
; Galaga Wars
;
; contact:
;
; Michael Rosskopf
; Saarlandstrasse 25
; 44866 Bochum
; Germany
;
; Tel.: +49-2327-31546
; E-mail: Michael_Rosskopf@gmx.de
;
; -------------------------------
;
; Translated into English (kinda) by
; Wiremu Te Kani
; E-Mail: tekani@yahoo.com
; wtekani@netscape.net
.Initialisation : ; Initialisation
; Some constants
#interleavemod=320/8
; Taken from Starfield demo 0.01 by FISH 1996
DEFTYPE .l a
DEFTYPE .l x,y,cnt
DEFTYPE .l bmapx,bmapy
DEFTYPE .w *coppnt
;; Taken from Blitzlibs:bb2objtypes.bb2
;NEWTYPE.sprite ;size=16
; _data.l ;00: NULL if no sprite present, else pointer to sprite data
; _height.w ;04: height of sprite, in pixels, plus an extra 1
; _channels.w ;06: number of sprite channels required to display sprite
; _flags.w ;08: low byte = pix width of sprite, hi bit = 1 if 16 colour sprite
; _nextoff.w ;10: difference in bytes between seperate sprites for separate sprite channels
; _xhandle.w ;12: horizontal handle for sprite
; _yhandle.w ;14: vertical handle for sprite
;End NEWTYPE
Statement init_star_data{spr.l,spd.l}
UNLK a4
MOVE.l d0,a0 ; Move address of sprite data to addr reg
MOVE.l d1,a1 ; Move address of speed data to addr reg
MOVE.l #48,d0 ; Start line of sprites on display
MOVE.l #49,d1 ; Stop line of sprite on display
MOVE.l #15,d2 ; Counter = 24 times
MOVE.l #0,d3 ; Spread value
loop1:
MOVE.b d0,(a0) ; Set vert start position
ADD.l #1,a0 ; ----Next byte----
MOVE.b d3,(a0) ; Set horiz start position
ADD.l #1,a0 ; ----Next byte----
MOVE.b d1,(a0) ; Set vertical stop pos
ADD.l #1,a0 ; ----Next byte----
MOVE.b #0,(a0) ; Set byte to 0
MOVE.l d0,d4 ; Copy vert pos to d4
AND.w #$ff00,d4 ; Are we over the 256 boundary?
BEQ l1 ; If not skip...
MOVE.b #6,(a0) ; ...Move %00000110
l1: ADD.l #1,a0 ; ----Next byte----
CLR d4
MOVE.l #$00000020,d4 ; Sprite image 2 planes (!!change this!!)
MOVE.l d4,(a0) ; Set sprite image
ADD.l #4,a0 ; ----Next sprite----
ADD.l #16,d0 ; Vert start pos += 8
ADD.l #16,d1 ; Vert stop pos += 8
ADD.b #179,d3 ; Next spread value (17 seems good)
MOVE.w (a1)+,d4
ADD.b d4,d3 ; add the speed. (This seems better)
DBF d2,loop1
RTS
End Statement
Statement scroll_stars_x{spr.l,speed.l}
UNLK a4
MOVE.l d0,a0 ; Move address of sprite data to addr reg
MOVE.l d1,d3 ; Move speed to d3 reg
ADD.l #1,a0 ; Push sprite data addr to point to horiz pos
MOVE.l #15,d2 ; Counter = 24 times
loop2:
MOVE.b (a0),d0 ; Get current horizonal pos
ADD.b d3,d0 ; Add speed
MOVE.b d0,(a0) ; Store new horiz pos
ADD.l #8,a0 ; Next sprite image
DBF d2,loop2
RTS
End Statement
Statement scroll_stars_y_down{spr.l,speed.l}
UNLK a4
MOVE.l d0,a0 ; Move address of sprite data to addr reg
MOVE.l a0,a2 ; Copy of the sprite data address
MOVE.l d1,d3 ; Move speed to d3 reg
MOVE.b (a0),d0
ADD.b d3,d0
AND.b #$f0,d0
MOVE.b (a0),d1
AND.b #$f0,d1
SUB.b d1,d0
MOVE.b d0,temp_data1
MOVE.l #15,d2 ; Counter = 24 times
loop3:
MOVE.b (a0),d0 ; Get current vert start pos
ADD.b d3,d0 ; Add speed
AND.b #$f,d0 ; Mask out all but lower 3 bits
MOVE.b (a0),d4 ; Get current vert start pos
AND.b #$f0,d4 ; Mask out lower 3 bits
ADD.b d4,d0 ; Add the d0
MOVE.b d0,(a0) ; Store new vert start pos
ADD.l #2,a0 ; ----Move to vert stop pos
ADD.b #1,d0 ; Add 1 to vert start pos
MOVE.b d0,(a0) ; Store new vert stop pos
ADD.l #6,a0 ; Next sprite image
DBF d2,loop3
MOVE.b temp_data1,d0 ; Get vert pos
CMP.b #0,d0 ; Zero...?
BEQ lab1 ; ...if not - leave
MOVE.l a2,a0 ; Set addr of sprite data
ADD.l #8*15+1,a0 ; Add offset for image 24 + horiz pos
MOVE.b (a0),d0 ; Get horiz pos at image 24
MOVE.b d0,temp_data1 ; Store in temp
MOVE.l a0,a1 ; a0=source , a1=dest
SUB.l #8,a0 ; Set source to image 23
MOVE.l #14,d2 ; Counter 23 times
loop4:
MOVE.b (a0),d0 ; Get horiz pos
MOVE.b d0,(a1) ; Store in next image
SUB.l #8,a0 ; Prev source image
SUB.l #8,a1 ; Prev dest image
DBF d2,loop4
MOVE.l a2,a0 ; Get addr of sprite data
ADD.l #1,a0 ; Offset for horiz pos
MOVE.b temp_data1,d0 ; Get temp data
MOVE.b d0,(a0) ; Place in first image
lab1:
RTS
temp_data1:
Dc.l 0
End Statement
Statement display_star { spr.l }
DEFTYPE .sprite *sprpnt
DEFTYPE .l a
*sprpnt=Addr Sprite (spr) : a=*sprpnt\_height : *sprpnt\_height=1
DisplaySprite 0,spr,160,0,spr : *sprpnt\_height=a
End Statement
Statement PLoc{x,y,a$}
Colour 1
Locate x,y
Print a$
End Statement
Statement patchcookie{n} ;Fix cookie for "1-plane" 32 col shapes
*s.shape=Addr Shape(n)
cook.l=*s\_cookie
hg=0:Repeat
width=0:Repeat
cval.w=0
i=0:Repeat
cval | Peek.w(cook + width + i * *s\_ebwidth)
i+1:Until i=5
i=0:Repeat
Poke.w(cook + width + i * *s\_ebwidth),cval
i+1:Until i=5
width+2:Until width=*s\_ebwidth
hg+5
cook+(*s\_ebwidth LSL2)+*s\_ebwidth
Until hg > *s\_pixheight-5
End Statement
; patchbitmap{source,destination}
;
; converts big 1-plane bitmap into 5-plane interleaved bitmap
; initialises a new pseudo-bitmap to be used in the conventional
; fashion (destination) and setting the 1-plane bitmap (source)
; up for display onscreen.
; If you want to use interleaved system, use the source. If you
; want standard planar bitmap use destination.
Statement patchbitmap{s.b,d.b}
;now cludge 5-plane version
*bit1.bitmap = Addr BitMap(s)
CludgeBitMap d,320,256,5,*bit1\_data
*bit0.bitmap = Addr BitMap(d)
For i=1 To 4
*bit0\_data[i] = *bit0\_data[i-1] + #interleavemod
Next
*bit0\_bitplanemod=#interleavemod
*bit0\_ebwidth=#interleavemod*5
End Statement
NEWTYPE .Ship ; ship
; Variables for Pictexpenditure
SPict.b ; Ship no.
WPict.b ; Bullet no.
SWidth.b ; Ship Width
SHeight.b ; Ship Height
WWidth.b ; Bullet Width
WHeight.b ; Bullet Height
WXplus.b ; Times ships needs to get hit (?)
WeaponDb.b ; Flickery bullets (0=off; 1=on)
; Ship and Bullet characteristics
Sx.w ; bullet X-Position
Sy.w ; bullet Y-Position
WStatus.b[2] ; Weapon Status (0=Not firing, 1=Firing)
Wx.w[2] ; Salvo X-Position
Wy.w[2] ; Salvo Y-Position
SSpeed.b ; Bulletspeed
WSpeed.b ; Salvospeed
WPause.w ; Pause between every Salvo
Shield.b ; Sheilds
Damage.b ; Damage that weapon causes
End NEWTYPE
NEWTYPE .Nasty ; Baddies
; Screen Variables
SPict.b ; Ship No
SWidth.b ; Ship width
SHeight.b ; Ship height
WXplus.b ; postponement of the Weaponshapes opposite for Shipshapes
WeaponDb.b ; Exhaust trail shimmering (0=off; 1=on)
; Baddie Characteristics (Nasty)
SMovTyp.b ; 0=Normal movement, 1=Fly to the Bereich, 2=Kamikaze, 3=Follow Headtrail
Intel.b ; 0=No Intelligence, 1=Firing only when strike possible
WeaponNr1.b ; Nr of the Ship belonging to Weapon 1
WeaponNr2.b ; Nr of the Ship belonging to Weapon 2
WeaponNr3.b ; Nr of the Ship belonging to Weapon 3
WeaponNr4.b ; Nr of the Ship belonging to Weapon 4
Shield.w ; Sheilds
Points.w ; Score for shooting down the ship
; Admins Variables
SStatus.b ; Status of the Ships (0=not vorhanden, 1=on display)
Sx.w ; X-Position of the Shipes on display
Sy.w ; Y-Position of the Shipes on display
SSpeedX.b ; Speed in X-direction
SSpeedY.b ; Speed in Y-direction
SBorderX1.w ; X-coordinate, bei the Ship course movement (links)
SBorderX2.w ; X-coordinate, bei the Ship course movement (rechts)
SBorderY1.w ; Y-coordinate, bei the Ship course movement (oben)
SBorderY2.w ; Y-coordinate, bei the Ship course movement (unten)
trailNr.b ; Nr for the Headtrail that the Ship follows
trailSek.b ; Actual pathway
trailCounter.w; Actual Pointage of the pathway
End NEWTYPE
NEWTYPE .Shot
Pict.b ; Nr of the Shot-Shapes
Width.b ; Width of the Shots-Shapes
Height.b ; Height of the Shot-Shapes
WeaponDb.b ; Flimmern of the Shots (0=aus; 1=an)
Typ.b ; 0=Nach vorne gefire, 1=Gezielt gefire, 2=Gelenkt
Status.b ; Shot vorhanden oder nicht
x.q ; X-Position of the Shots on dem display
y.q ; Y-Position of the Shots on dem display
SpeedX.q ; speed in X-direction
SpeedY.q ; speed in Y-direction
End NEWTYPE
NEWTYPE .trail
x.w ; Pointer X-Position
y.w ; Pointer Y-Position
Counter.w[20] ; Counting down until direction change
SpeedX.b[20] ; speed in X-direction
SpeedY.b[20] ; speed in Y-direction
End NEWTYPE
NEWTYPE .Level
R.b ; Red-Word
G.b ; Green-Word
B.b ; Blue-Word
Counter.b ; Place in Level
NastyComing.b[11] ; Nasties in current attackwave
NastyKilled.b[11] ; Nasties destroyed in attackwave
NastyCount.b[11] ; amount of Nasties on screen at one time
ShotCount.b[11] ; amount of shots on screen at one time
NastyType1.b[11] ; Nr of the NastyType1 in attackwaves
NastyType2.b[11] ; Nr of the NastyType2 in attackwaves
NastyType3.b[11] ; Nr of the NastyType3 in attackwaves
NastyType4.b[11] ; Nr of the NastyType4 in attackwaves
NastySpace.b[11] ; Distances between each Nasty
NShotSpace.b[11] ; Probability for Nastyshots
End NEWTYPE
; Highscore array
Dim HighscoreNamen$(5)
Dim HighscorePoints.l(5)
Dim HighscoreLevel.b(5)
For i.b=0 To 4
MaxLen HighscoreNamen$(i)=8
Next i
; Highscore
Zugriff.b=OpenFile(0,"Galagawars.Highscore")
Fields 0,HighscoreNamen$(0)
Fields 0,HighscoreNamen$(1)
Fields 0,HighscoreNamen$(2)
Fields 0,HighscoreNamen$(3)
Fields 0,HighscoreNamen$(4)
Fields 0,HighscorePoints(0)
Fields 0,HighscorePoints(1)
Fields 0,HighscorePoints(2)
Fields 0,HighscorePoints(3)
Fields 0,HighscorePoints(4)
Fields 0,HighscoreLevel(0)
Fields 0,HighscoreLevel(1)
Fields 0,HighscoreLevel(2)
Fields 0,HighscoreLevel(3)
Fields 0,HighscoreLevel(4)
Get 0,0
CloseFile 0
; Shapeloader
.Shapeloader
DecodeShapes 0,110,?b_allshapes
For xxx=0 To 110
If xxx<>43
patchcookie{xxx}
EndIf
Next xxx
DecodePalette 0,?bpalt0
DecodePalette 1,?bpalt1
InitPalette 2,31
; Soundloader
CludgeSound 0,?s0
CludgeSound 1,?s1
CludgeSound 2,?s2
CludgeSound 3,?s3
CludgeSound 4,?s4
CludgeSound 5,?s5
CludgeSound 6,?s6
CludgeSound 7,?s7
CludgeSound 8,?s8
CludgeSound 9,?s9
CludgeSound 10,?sa
CludgeSound 11,?sb
CludgeSound 12,?sc
CludgeSound 13,?sd
CludgeSound 14,?se
;LoadBlitzFont 0,"2001.font"
.VarShipe: ; Ship variables
Dim S.Ship(6)
S(1)\ SPict=25
S(1)\ WPict=30
S(1)\ SWidth=ShapeWidth(S(1)\SPict)
S(1)\ SHeight=ShapeHeight(S(1)\SPict)/5
S(1)\ WWidth=ShapeWidth(S(1)\WPict)
S(1)\ WHeight=ShapeHeight(S(1)\WPict)/5
S(1)\ SSpeed=5
S(1)\ WSpeed=10
S(1)\ WPause=11
S(1)\ Shield=20
S(1)\Damage=2
S(1)\ WXplus=4
S(1)\ WeaponDb=0
S(2)\ SPict=26
S(2)\ WPict=31
S(2)\ SWidth=ShapeWidth(S(2)\SPict)
S(2)\ SHeight=ShapeHeight(S(2)\SPict)/5
S(2)\ WWidth=ShapeWidth(S(2)\WPict)
S(2)\ WHeight=ShapeHeight(S(2)\WPict)/5
S(2)\ SSpeed=4
S(2)\ WSpeed=10
S(2)\ WPause=9
S(2)\ Shield=40
S(2)\Damage=4
S(2)\ WXplus=0
S(2)\ WeaponDb=0
S(3)\ SPict=27
S(3)\ WPict=32
S(3)\ SWidth=ShapeWidth(S(3)\SPict)
S(3)\ SHeight=ShapeHeight(S(3)\SPict)/5
S(3)\ WWidth=ShapeWidth(S(3)\WPict)
S(3)\ WHeight=ShapeHeight(S(3)\WPict)/5
S(3)\ SSpeed=3
S(3)\ WSpeed=10
S(3)\ WPause=10
S(3)\ Shield=80
S(3)\Damage=8
S(3)\ WXplus=2
S(3)\ WeaponDb=0
S(4)\ SPict=28
S(4)\ WPict=33
S(4)\ SWidth=ShapeWidth(S(4)\SPict)
S(4)\ SHeight=ShapeHeight(S(4)\SPict)/5
S(4)\ WWidth=ShapeWidth(S(4)\WPict)
S(4)\ WHeight=ShapeHeight(S(4)\WPict)/5
S(4)\ SSpeed=4
S(4)\ WSpeed=12
S(4)\ WPause=8
S(4)\ Shield=60
S(4)\Damage=6
S(4)\ WXplus=8
S(4)\ WeaponDb=0
S(5)\ SPict=29
S(5)\ WPict=34
S(5)\ SWidth=ShapeWidth(S(5)\SPict)
S(5)\ SHeight=ShapeHeight(S(5)\SPict)/5
S(5)\ WWidth=ShapeWidth(S(5)\WPict)
S(5)\ WHeight=ShapeHeight(S(5)\WPict)/5
S(5)\ SSpeed=3
S(5)\ WSpeed=8
S(5)\ WPause=10
S(5)\ Shield=99
S(5)\Damage=12
S(5)\ WXplus=10
S(5)\ WeaponDb=1
; Specifications for meanies bullets
.VarNstshooters: ; VarMeanyBullets
Dim Nastyshooters.Shot(28) ; Meanybullets.bullet(28)
; Bombe1
Nastyshooters(0)\ Pict=45
Nastyshooters(0)\ Width=ShapeWidth(Nastyshooters(0)\Pict)
Nastyshooters(0)\ Height=ShapeHeight(Nastyshooters(0)\Pict)/5
Nastyshooters(0)\ WeaponDb=0
Nastyshooters(0)\ Typ=0
Nastyshooters(0)\SpeedX=0
Nastyshooters(0)\SpeedY=4
; Drohne3Shot
Nastyshooters(1)\ Pict=47
Nastyshooters(1)\ Width=ShapeWidth(Nastyshooters(1)\Pict)
Nastyshooters(1)\ Height=ShapeHeight(Nastyshooters(1)\Pict)/5
Nastyshooters(1)\ WeaponDb=0
Nastyshooters(1)\ Typ=0
Nastyshooters(1)\SpeedX=1
Nastyshooters(1)\SpeedY=3
; ZielShot1
Nastyshooters(2)\ Pict=48
Nastyshooters(2)\ Width=ShapeWidth(Nastyshooters(2)\Pict)
Nastyshooters(2)\ Height=ShapeHeight(Nastyshooters(2)\Pict)/5
Nastyshooters(2)\ WeaponDb=0
Nastyshooters(2)\ Typ=1
Nastyshooters(2)\SpeedX=3
Nastyshooters(2)\SpeedY=3
; EndNasty1Shot
Nastyshooters(3)\ Pict=49
Nastyshooters(3)\ Width=ShapeWidth(Nastyshooters(3)\Pict)
Nastyshooters(3)\ Height=ShapeHeight(Nastyshooters(3)\Pict)/5
Nastyshooters(3)\ WeaponDb=0
Nastyshooters(3)\ Typ=0
Nastyshooters(3)\SpeedX=3
Nastyshooters(3)\SpeedY=3
; Jaeger1Shot
Nastyshooters(4)\ Pict=51
Nastyshooters(4)\ Width=ShapeWidth(Nastyshooters(4)\Pict)
Nastyshooters(4)\ Height=ShapeHeight(Nastyshooters(4)\Pict)/5
Nastyshooters(4)\ WeaponDb=0
Nastyshooters(4)\ Typ=0
Nastyshooters(4)\SpeedX=0
Nastyshooters(4)\SpeedY=4
; Bombe2
Nastyshooters(5)\ Pict=46
Nastyshooters(5)\ Width=ShapeWidth(Nastyshooters(5)\Pict)
Nastyshooters(5)\ Height=ShapeHeight(Nastyshooters(5)\Pict)/5
Nastyshooters(5)\ WeaponDb=0
Nastyshooters(5)\ Typ=0
Nastyshooters(5)\SpeedX=0
Nastyshooters(5)\SpeedY=4
; Alienjaeger1Shot
Nastyshooters(6)\ Pict=56
Nastyshooters(6)\ Width=ShapeWidth(Nastyshooters(6)\Pict)
Nastyshooters(6)\ Height=ShapeHeight(Nastyshooters(6)\Pict)/5
Nastyshooters(6)\ WeaponDb=0
Nastyshooters(6)\ Typ=0
Nastyshooters(6)\SpeedX=0
Nastyshooters(6)\SpeedY=4
; Alienjaeger2Shot
Nastyshooters(7)\ Pict=57
Nastyshooters(7)\ Width=ShapeWidth(Nastyshooters(7)\Pict)
Nastyshooters(7)\ Height=ShapeHeight(Nastyshooters(7)\Pict)/5
Nastyshooters(7)\ WeaponDb=0
Nastyshooters(7)\ Typ=0
Nastyshooters(7)\SpeedX=0
Nastyshooters(7)\SpeedY=4
; Alienjaeger3Shot
Nastyshooters(8)\ Pict=58
Nastyshooters(8)\ Width=ShapeWidth(Nastyshooters(8)\Pict)
Nastyshooters(8)\ Height=ShapeHeight(Nastyshooters(8)\Pict)/5
Nastyshooters(8)\ WeaponDb=0
Nastyshooters(8)\ Typ=0
Nastyshooters(8)\SpeedX=0
Nastyshooters(8)\SpeedY=4
; EndNasty2Shot
Nastyshooters(9)\ Pict=60
Nastyshooters(9)\ Width=ShapeWidth(Nastyshooters(9)\Pict)
Nastyshooters(9)\ Height=ShapeHeight(Nastyshooters(9)\Pict)/5
Nastyshooters(9)\ WeaponDb=0
Nastyshooters(9)\ Typ=0
Nastyshooters(9)\SpeedX=5
Nastyshooters(9)\SpeedY=4
; AlienDrohne2Shot
Nastyshooters(10)\ Pict=62
Nastyshooters(10)\ Width=ShapeWidth(Nastyshooters(10)\Pict)
Nastyshooters(10)\ Height=ShapeHeight(Nastyshooters(10)\Pict)/5
Nastyshooters(10)\ WeaponDb=0
Nastyshooters(10)\ Typ=0
Nastyshooters(10)\SpeedX=2
Nastyshooters(10)\SpeedY=4
; Jaeger2Shot
Nastyshooters(11)\ Pict=71
Nastyshooters(11)\ Width=ShapeWidth(Nastyshooters(11)\Pict)
Nastyshooters(11)\ Height=ShapeHeight(Nastyshooters(11)\Pict)/5
Nastyshooters(11)\ WeaponDb=0
Nastyshooters(11)\ Typ=0
Nastyshooters(11)\SpeedX=0
Nastyshooters(11)\SpeedY=8
; RaketenJaegerShot
Nastyshooters(12)\ Pict=72
Nastyshooters(12)\ Width=ShapeWidth(Nastyshooters(12)\Pict)
Nastyshooters(12)\ Height=ShapeHeight(Nastyshooters(12)\Pict)/5
Nastyshooters(12)\ WeaponDb=1
Nastyshooters(12)\ Typ=0
Nastyshooters(12)\SpeedX=4
Nastyshooters(12)\SpeedY=4
; BomberShot
Nastyshooters(13)\ Pict=74
Nastyshooters(13)\ Width=ShapeWidth(Nastyshooters(13)\Pict)
Nastyshooters(13)\ Height=ShapeHeight(Nastyshooters(13)\Pict)/5
Nastyshooters(13)\ WeaponDb=1
Nastyshooters(13)\ Typ=0
Nastyshooters(13)\SpeedX=2
Nastyshooters(13)\SpeedY=3
; Jaeger3Shot
Nastyshooters(14)\ Pict=76
Nastyshooters(14)\ Width=ShapeWidth(Nastyshooters(14)\Pict)
Nastyshooters(14)\ Height=ShapeHeight(Nastyshooters(14)\Pict)/5
Nastyshooters(14)\ WeaponDb=0
Nastyshooters(14)\ Typ=0
Nastyshooters(14)\SpeedX=0
Nastyshooters(14)\SpeedY=4
; KanoneShot
Nastyshooters(15)\ Pict=77
Nastyshooters(15)\ Width=ShapeWidth(Nastyshooters(15)\Pict)
Nastyshooters(15)\ Height=ShapeHeight(Nastyshooters(15)\Pict)/5
Nastyshooters(15)\ WeaponDb=0
Nastyshooters(15)\ Typ=0
Nastyshooters(15)\SpeedX=0
Nastyshooters(15)\SpeedY=3
; AsteroidShot
Nastyshooters(16)\ Pict=78
Nastyshooters(16)\ Width=ShapeWidth(Nastyshooters(16)\Pict)
Nastyshooters(16)\ Height=ShapeHeight(Nastyshooters(16)\Pict)/5
Nastyshooters(16)\ WeaponDb=0
Nastyshooters(16)\ Typ=0
Nastyshooters(16)\SpeedX=12
Nastyshooters(16)\SpeedY=12
; ZielShot2
Nastyshooters(17)\ Pict=79
Nastyshooters(17)\ Width=ShapeWidth(Nastyshooters(17)\Pict)
Nastyshooters(17)\ Height=ShapeHeight(Nastyshooters(17)\Pict)/5
Nastyshooters(17)\ WeaponDb=1
Nastyshooters(17)\ Typ=1
Nastyshooters(17)\SpeedX=4
Nastyshooters(17)\SpeedY=4
; ZielShot3
Nastyshooters(18)\ Pict=88
Nastyshooters(18)\ Width=ShapeWidth(Nastyshooters(18)\Pict)
Nastyshooters(18)\ Height=ShapeHeight(Nastyshooters(18)\Pict)/5
Nastyshooters(18)\ WeaponDb=0
Nastyshooters(18)\ Typ=1
Nastyshooters(18)\SpeedX=3
Nastyshooters(18)\SpeedY=3
; PlantAlien1Shot
Nastyshooters(19)\ Pict=89
Nastyshooters(19)\ Width=ShapeWidth(Nastyshooters(19)\Pict)
Nastyshooters(19)\ Height=ShapeHeight(Nastyshooters(19)\Pict)/5
Nastyshooters(19)\ WeaponDb=0
Nastyshooters(19)\ Typ=0
Nastyshooters(19)\SpeedX=0
Nastyshooters(19)\SpeedY=5
; PlantAlien2Shot
Nastyshooters(20)\ Pict=90
Nastyshooters(20)\ Width=ShapeWidth(Nastyshooters(20)\Pict)
Nastyshooters(20)\ Height=ShapeHeight(Nastyshooters(20)\Pict)/5
Nastyshooters(20)\ WeaponDb=0
Nastyshooters(20)\ Typ=0
Nastyshooters(20)\SpeedX=0
Nastyshooters(20)\SpeedY=5
; PlantAlien3Shot
Nastyshooters(21)\ Pict=91
Nastyshooters(21)\ Width=ShapeWidth(Nastyshooters(21)\Pict)
Nastyshooters(21)\ Height=ShapeHeight(Nastyshooters(21)\Pict)/5
Nastyshooters(21)\ WeaponDb=1
Nastyshooters(21)\ Typ=0
Nastyshooters(21)\SpeedX=0
Nastyshooters(21)\SpeedY=3
; EndNasty4Shot
Nastyshooters(22)\ Pict=94
Nastyshooters(22)\ Width=ShapeWidth(Nastyshooters(22)\Pict)
Nastyshooters(22)\ Height=ShapeHeight(Nastyshooters(22)\Pict)/5
Nastyshooters(22)\ WeaponDb=0
Nastyshooters(22)\ Typ=0
Nastyshooters(22)\SpeedX=0
Nastyshooters(22)\SpeedY=4
; Dreadnought1Shot
Nastyshooters(23)\ Pict=99
Nastyshooters(23)\ Width=ShapeWidth(Nastyshooters(23)\Pict)
Nastyshooters(23)\ Height=ShapeHeight(Nastyshooters(23)\Pict)/5
Nastyshooters(23)\ WeaponDb=0
Nastyshooters(23)\ Typ=0
Nastyshooters(23)\SpeedX=0
Nastyshooters(23)\SpeedY=5
; Dreadnought2Shot
Nastyshooters(24)\ Pict=100
Nastyshooters(24)\ Width=ShapeWidth(Nastyshooters(24)\Pict)
Nastyshooters(24)\ Height=ShapeHeight(Nastyshooters(24)\Pict)/5
Nastyshooters(24)\ WeaponDb=0
Nastyshooters(24)\ Typ=0
Nastyshooters(24)\SpeedX=0
Nastyshooters(24)\SpeedY=4
; Dreadnought3Shot
Nastyshooters(25)\ Pict=101
Nastyshooters(25)\ Width=ShapeWidth(Nastyshooters(25)\Pict)
Nastyshooters(25)\ Height=ShapeHeight(Nastyshooters(25)\Pict)/5
Nastyshooters(25)\ WeaponDb=0
Nastyshooters(25)\ Typ=0
Nastyshooters(25)\SpeedX=0
Nastyshooters(25)\SpeedY=6
; Lenkrakete
Nastyshooters(26)\ Pict=105
Nastyshooters(26)\ Width=ShapeWidth(Nastyshooters(26)\Pict)
Nastyshooters(26)\ Height=ShapeHeight(Nastyshooters(26)\Pict)/5
Nastyshooters(26)\ WeaponDb=1
Nastyshooters(26)\ Typ=2
Nastyshooters(26)\SpeedX=0
Nastyshooters(26)\SpeedY=4
; EndNasty6Shot
Nastyshooters(27)\ Pict=107
Nastyshooters(27)\ Width=ShapeWidth(Nastyshooters(27)\Pict)
Nastyshooters(27)\ Height=ShapeHeight(Nastyshooters(27)\Pict)/5
Nastyshooters(27)\ WeaponDb=0
Nastyshooters(27)\ Typ=0
Nastyshooters(27)\SpeedX=8
Nastyshooters(27)\SpeedY=4
; Meanies ship specs
.VarNasty: ; Meany variables
Dim Nastychoice.Nasty(37) ; Meanybits.Meany(37)
; Drohne 1
Nastychoice(0)\ SPict=36
Nastychoice(0)\ SWidth=ShapeWidth(Nastychoice(0)\SPict)
Nastychoice(0)\ SHeight=ShapeHeight(Nastychoice(0)\SPict)/5
Nastychoice(0)\ WeaponNr1=0
Nastychoice(0)\ WeaponNr2=0
Nastychoice(0)\ WeaponNr3=0
Nastychoice(0)\ WeaponNr4=0
Nastychoice(0)\ WXplus=(Nastychoice(0)\SWidth ASR 1)-(Nastyshooters(Nastychoice(0)\WeaponNr1)\Width ASR 1)
Nastychoice(0)\ WeaponDb=0
Nastychoice(0)\ SMovTyp=3
Nastychoice(0)\ Intel=0
Nastychoice(0)\ Shield=1
Nastychoice(0)\ Points=15
Nastychoice(0)\ SSpeedX=0
Nastychoice(0)\ SSpeedY=0
Nastychoice(0)\ trailNr=0
; Drohne 2
Nastychoice(1)\ SPict=37
Nastychoice(1)\ SWidth=ShapeWidth(Nastychoice(1)\SPict)
Nastychoice(1)\ SHeight=ShapeHeight(Nastychoice(1)\SPict)/5
Nastychoice(1)\ WeaponNr1=0
Nastychoice(1)\ WeaponNr2=0
Nastychoice(1)\ WeaponNr3=0
Nastychoice(1)\ WeaponNr4=0
Nastychoice(1)\ WXplus=(Nastychoice(1)\SWidth ASR 1)-(Nastyshooters(Nastychoice(1)\WeaponNr1)\Width ASR 1)
Nastychoice(1)\ WeaponDb=0
Nastychoice(1)\ SMovTyp=3
Nastychoice(1)\ Intel=0
Nastychoice(1)\ Shield=2
Nastychoice(1)\ Points=20
Nastychoice(1)\ SSpeedX=0
Nastychoice(1)\ SSpeedY=0
Nastychoice(1)\ trailNr=1
; Drohne 3
Nastychoice(2)\ SPict=38
Nastychoice(2)\ SWidth=ShapeWidth(Nastychoice(2)\SPict)
Nastychoice(2)\ SHeight=ShapeHeight(Nastychoice(2)\SPict)/5
Nastychoice(2)\ WeaponNr1=1
Nastychoice(2)\ WeaponNr2=1
Nastychoice(2)\ WeaponNr3=1
Nastychoice(2)\ WeaponNr4=1
Nastychoice(2)\ WXplus=(Nastychoice(2)\SWidth ASR 1)-(Nastyshooters(Nastychoice(2)\WeaponNr1)\Width ASR 1)
Nastychoice(2)\ WeaponDb=0
Nastychoice(2)\ SMovTyp=1
Nastychoice(2)\ Intel=0
Nastychoice(2)\ Shield=5
Nastychoice(2)\ Points=40
Nastychoice(2)\ SSpeedX=1
Nastychoice(2)\ SSpeedY=1
Nastychoice(2)\SBorderX1=0
Nastychoice(2)\SBorderX2=320-Nastychoice(2)\SHeight
Nastychoice(2)\SBorderY1=40
Nastychoice(2)\SBorderY2=128-Nastychoice(2)\SWidth
; Jaeger1
Nastychoice(3)\ SPict=50
Nastychoice(3)\ SWidth=ShapeWidth(Nastychoice(3)\SPict)
Nastychoice(3)\ SHeight=ShapeHeight(Nastychoice(3)\SPict)/5
Nastychoice(3)\ WeaponNr1=4
Nastychoice(3)\ WeaponNr2=4
Nastychoice(3)\ WeaponNr3=4
Nastychoice(3)\ WeaponNr4=4
Nastychoice(3)\ WXplus=(Nastychoice(3)\SWidth ASR 1)-(Nastyshooters(Nastychoice(3)\WeaponNr1)\Width ASR 1)
Nastychoice(3)\ WeaponDb=0
Nastychoice(3)\ SMovTyp=0
Nastychoice(3)\ Intel=0
Nastychoice(3)\ Shield=2
Nastychoice(3)\ Points=25
Nastychoice(3)\ SSpeedX=1
Nastychoice(3)\ SSpeedY=2
; Drohne4
Nastychoice(4)\ SPict=39
Nastychoice(4)\ SWidth=ShapeWidth(Nastychoice(4)\SPict)
Nastychoice(4)\ SHeight=ShapeHeight(Nastychoice(4)\SPict)/5
Nastychoice(4)\ WeaponNr1=5
Nastychoice(4)\ WeaponNr2=5
Nastychoice(4)\ WeaponNr3=5
Nastychoice(4)\ WeaponNr4=5
Nastychoice(4)\ WXplus=(Nastychoice(4)\SWidth ASR 1)-(Nastyshooters(Nastychoice(4)\WeaponNr1)\Width ASR 1)
Nastychoice(4)\ WeaponDb=0
Nastychoice(4)\ SMovTyp=3
Nastychoice(4)\ Intel=0
Nastychoice(4)\ Shield=2
Nastychoice(4)\ Points=25
Nastychoice(4)\ SSpeedX=1
Nastychoice(4)\ SSpeedY=2
Nastychoice(4)\ trailNr=3
; Drohne5
Nastychoice(5)\ SPict=40
Nastychoice(5)\ SWidth=ShapeWidth(Nastychoice(5)\SPict)
Nastychoice(5)\ SHeight=ShapeHeight(Nastychoice(5)\SPict)/5
Nastychoice(5)\ WeaponNr1=0
Nastychoice(5)\ WeaponNr2=0
Nastychoice(5)\ WeaponNr3=0
Nastychoice(5)\ WeaponNr4=0
Nastychoice(5)\ WXplus=(Nastychoice(5)\SWidth ASR 1)-(Nastyshooters(Nastychoice(5)\WeaponNr1)\Width ASR 1)
Nastychoice(5)\ WeaponDb=0
Nastychoice(5)\ SMovTyp=0
Nastychoice(5)\ Intel=0
Nastychoice(5)\ Shield=2
Nastychoice(5)\ Points=25
Nastychoice(5)\ SSpeedX=2
Nastychoice(5)\ SSpeedY=2
; Drohne6
Nastychoice(6)\ SPict=41
Nastychoice(6)\ SWidth=ShapeWidth(Nastychoice(6)\SPict)
Nastychoice(6)\ SHeight=ShapeHeight(Nastychoice(6)\SPict)/5
Nastychoice(6)\ WeaponNr1=2
Nastychoice(6)\ WeaponNr2=2
Nastychoice(6)\ WeaponNr3=2
Nastychoice(6)\ WeaponNr4=2
Nastychoice(6)\ WXplus=(Nastychoice(6)\SWidth ASR 1)-(Nastyshooters(Nastychoice(6)\WeaponNr1)\Width ASR 1)
Nastychoice(6)\ WeaponDb=0
Nastychoice(6)\ SMovTyp=0
Nastychoice(6)\ Intel=0
Nastychoice(6)\ Shield=4
Nastychoice(6)\ Points=50
Nastychoice(6)\ SSpeedX=0
Nastychoice(6)\ SSpeedY=1
; EndNasty1
Nastychoice(7)\ SPict=44
Nastychoice(7)\ SWidth=ShapeWidth(Nastychoice(7)\SPict)
Nastychoice(7)\ SHeight=ShapeHeight(Nastychoice(7)\SPict)/5
Nastychoice(7)\ WeaponNr1=2
Nastychoice(7)\ WeaponNr2=2
Nastychoice(7)\ WeaponNr3=3
Nastychoice(7)\ WeaponNr4=3
Nastychoice(7)\ WXplus=(Nastychoice(7)\SWidth ASR 1)-(Nastyshooters(Nastychoice(7)\WeaponNr1)\Width ASR 1)
Nastychoice(7)\ WeaponDb=0
Nastychoice(7)\ SMovTyp=3
Nastychoice(7)\ Intel=0
Nastychoice(7)\ Shield=75
Nastychoice(7)\ Points=1000
Nastychoice(7)\ SSpeedX=0
Nastychoice(7)\ SSpeedY=1
Nastychoice(7)\ trailNr=2
; AlienDrohne1
Nastychoice(8)\ SPict=52
Nastychoice(8)\ SWidth=ShapeWidth(Nastychoice(8)\SPict)
Nastychoice(8)\ SHeight=ShapeHeight(Nastychoice(8)\SPict)/5
Nastychoice(8)\ WeaponNr1=0
Nastychoice(8)\ WeaponNr2=0
Nastychoice(8)\ WeaponNr3=0
Nastychoice(8)\ WeaponNr4=0
Nastychoice(8)\ WXplus=(Nastychoice(8)\SWidth ASR 1)-(Nastyshooters(Nastychoice(8)\WeaponNr1)\Width ASR 1)
Nastychoice(8)\ WeaponDb=0
Nastychoice(8)\ SMovTyp=3
Nastychoice(8)\ Intel=0
Nastychoice(8)\ Shield=4
Nastychoice(8)\ Points=30
Nastychoice(8)\ SSpeedX=0
Nastychoice(8)\ SSpeedY=0
Nastychoice(8)\ trailNr=4
; AlienHunter1 (Jaeger)
Nastychoice(9)\ SPict=53
Nastychoice(9)\ SWidth=ShapeWidth(Nastychoice(9)\SPict)
Nastychoice(9)\ SHeight=ShapeHeight(Nastychoice(9)\SPict)/5
Nastychoice(9)\ WeaponNr1=6
Nastychoice(9)\ WeaponNr2=6
Nastychoice(9)\ WeaponNr3=6
Nastychoice(9)\ WeaponNr4=6
Nastychoice(9)\ WXplus=(Nastychoice(9)\SWidth ASR 1)-(Nastyshooters(Nastychoice(9)\WeaponNr1)\Width ASR 1)
Nastychoice(9)\ WeaponDb=0
Nastychoice(9)\ SMovTyp=0
Nastychoice(9)\ Intel=0
Nastychoice(9)\ Shield=4
Nastychoice(9)\ Points=40
Nastychoice(9)\ SSpeedX=1
Nastychoice(9)\ SSpeedY=3
; AlienHunter2 (Jaeger)
Nastychoice(10)\ SPict=54
Nastychoice(10)\ SWidth=ShapeWidth(Nastychoice(10)\SPict)
Nastychoice(10)\ SHeight=ShapeHeight(Nastychoice(10)\SPict)/5
Nastychoice(10)\ WeaponNr1=7
Nastychoice(10)\ WeaponNr2=7
Nastychoice(10)\ WeaponNr3=7
Nastychoice(10)\ WeaponNr4=7
Nastychoice(10)\ WXplus=(Nastychoice(10)\SWidth ASR 1)-(Nastyshooters(Nastychoice(10)\WeaponNr1)\Width ASR 1)
Nastychoice(10)\ WeaponDb=0
Nastychoice(10)\ SMovTyp=0
Nastychoice(10)\ Intel=0
Nastychoice(10)\ Shield=8
Nastychoice(10)\ Points=60
Nastychoice(10)\ SSpeedX=1
Nastychoice(10)\ SSpeedY=2
; AlienJaeger3
Nastychoice(11)\ SPict=55
Nastychoice(11)\ SWidth=ShapeWidth(Nastychoice(11)\SPict)
Nastychoice(11)\ SHeight=ShapeHeight(Nastychoice(11)\SPict)/5
Nastychoice(11)\ WeaponNr1=8
Nastychoice(11)\ WeaponNr2=8
Nastychoice(11)\ WeaponNr3=8
Nastychoice(11)\ WeaponNr4=8
Nastychoice(11)\ WXplus=(Nastychoice(11)\SWidth ASR 1)-(Nastyshooters(Nastychoice(11)\WeaponNr1)\Width ASR 1)
Nastychoice(11)\ WeaponDb=0
Nastychoice(11)\ SMovTyp=0
Nastychoice(11)\ Intel=0
Nastychoice(11)\ Shield=10
Nastychoice(11)\ Points=80
Nastychoice(11)\ SSpeedX=1
Nastychoice(11)\ SSpeedY=2
; EndNasty2
Nastychoice(12)\ SPict=59
Nastychoice(12)\ SWidth=ShapeWidth(Nastychoice(12)\SPict)
Nastychoice(12)\ SHeight=ShapeHeight(Nastychoice(12)\SPict)/5
Nastychoice(12)\ WeaponNr1=2
Nastychoice(12)\ WeaponNr2=9
Nastychoice(12)\ WeaponNr3=9
Nastychoice(12)\ WeaponNr4=9
Nastychoice(12)\ WXplus=(Nastychoice(12)\SWidth ASR 1)-(Nastyshooters(Nastychoice(12)\WeaponNr1)\Width ASR 1)
Nastychoice(12)\ WeaponDb=0
Nastychoice(12)\ SMovTyp=1
Nastychoice(12)\ Intel=0
Nastychoice(12)\ Shield=150
Nastychoice(12)\ Points=1500
Nastychoice(12)\ SSpeedX=1
Nastychoice(12)\ SSpeedY=1
Nastychoice(12)\SBorderX1=0
Nastychoice(12)\SBorderX2=320-Nastychoice(12)\SHeight
Nastychoice(12)\SBorderY1=8
Nastychoice(12)\SBorderY2=255-Nastychoice(12)\SWidth
; AlienDrohne2
Nastychoice(13)\ SPict=61
Nastychoice(13)\ SWidth=ShapeWidth(Nastychoice(13)\SPict)
Nastychoice(13)\ SHeight=ShapeHeight(Nastychoice(13)\SPict)/5
Nastychoice(13)\ WeaponNr1=10
Nastychoice(13)\ WeaponNr2=10
Nastychoice(13)\ WeaponNr3=10
Nastychoice(13)\ WeaponNr4=10
Nastychoice(13)\ WXplus=(Nastychoice(13)\SWidth ASR 1)-(Nastyshooters(Nastychoice(13)\WeaponNr1)\Width ASR 1)
Nastychoice(13)\ WeaponDb=0
Nastychoice(13)\ SMovTyp=1
Nastychoice(13)\ Intel=0
Nastychoice(13)\ Shield=15
Nastychoice(13)\ Points=100
Nastychoice(13)\ SSpeedX=1
Nastychoice(13)\ SSpeedY=1
Nastychoice(13)\SBorderX1=0
Nastychoice(13)\SBorderX2=320-Nastychoice(13)\SHeight
Nastychoice(13)\SBorderY1=8
Nastychoice(13)\SBorderY2=127-Nastychoice(13)\SWidth
; Jaeger2
Nastychoice(14)\ SPict=63
Nastychoice(14)\ SWidth=ShapeWidth(Nastychoice(14)\SPict)
Nastychoice(14)\ SHeight=ShapeHeight(Nastychoice(14)\SPict)/5
Nastychoice(14)\ WeaponNr1=11
Nastychoice(14)\ WeaponNr2=11
Nastychoice(14)\ WeaponNr3=11
Nastychoice(14)\ WeaponNr4=11
Nastychoice(14)\ WXplus=(Nastychoice(14)\SWidth ASR 1)-(Nastyshooters(Nastychoice(14)\WeaponNr1)\Width ASR 1)
Nastychoice(14)\ WeaponDb=0
Nastychoice(14)\ SMovTyp=0
Nastychoice(14)\ Intel=0
Nastychoice(14)\ Shield=8
Nastychoice(14)\ Points=150
Nastychoice(14)\ SSpeedX=1
Nastychoice(14)\ SSpeedY=2
; RaketenJaeger
Nastychoice(15)\ SPict=64
Nastychoice(15)\ SWidth=ShapeWidth(Nastychoice(15)\SPict)
Nastychoice(15)\ SHeight=ShapeHeight(Nastychoice(15)\SPict)/5
Nastychoice(15)\ WeaponNr1=12
Nastychoice(15)\ WeaponNr2=12
Nastychoice(15)\ WeaponNr3=12
Nastychoice(15)\ WeaponNr4=12
Nastychoice(15)\ WXplus=(Nastychoice(15)\SWidth ASR 1)-(Nastyshooters(Nastychoice(15)\WeaponNr1)\Width ASR 1)
Nastychoice(15)\ WeaponDb=0
Nastychoice(15)\ SMovTyp=1
Nastychoice(15)\ Intel=0
Nastychoice(15)\ Shield=16
Nastychoice(15)\ Points=200
Nastychoice(15)\ SSpeedX=4
Nastychoice(15)\ SSpeedY=1
Nastychoice(15)\SBorderX1=0
Nastychoice(15)\SBorderX2=320-Nastychoice(15)\SHeight
Nastychoice(15)\SBorderY1=8
Nastychoice(15)\SBorderY2=127-Nastychoice(15)\SWidth
; Bomber
Nastychoice(16)\ SPict=65
Nastychoice(16)\ SWidth=ShapeWidth(Nastychoice(16)\SPict)
Nastychoice(16)\ SHeight=ShapeHeight(Nastychoice(16)\SPict)/5
Nastychoice(16)\ WeaponNr1=2
Nastychoice(16)\ WeaponNr2=13
Nastychoice(16)\ WeaponNr3=13
Nastychoice(16)\ WeaponNr4=13
Nastychoice(16)\ WXplus=(Nastychoice(16)\SWidth ASR 1)-(Nastyshooters(Nastychoice(16)\WeaponNr1)\Width ASR 1)
Nastychoice(16)\ WeaponDb=0
Nastychoice(16)\ SMovTyp=0
Nastychoice(16)\ Intel=0
Nastychoice(16)\ Shield=24
Nastychoice(16)\ Points=250
Nastychoice(16)\ SSpeedX=1
Nastychoice(16)\ SSpeedY=1
; Jaeger3
Nastychoice(17)\ SPict=66
Nastychoice(17)\ SWidth=ShapeWidth(Nastychoice(17)\SPict)
Nastychoice(17)\ SHeight=ShapeHeight(Nastychoice(17)\SPict)/5
Nastychoice(17)\ WeaponNr1=14
Nastychoice(17)\ WeaponNr2=14
Nastychoice(17)\ WeaponNr3=26
Nastychoice(17)\ WeaponNr4=26
Nastychoice(17)\ WXplus=(Nastychoice(17)\SWidth ASR 1)-(Nastyshooters(Nastychoice(17)\WeaponNr1)\Width ASR 1)
Nastychoice(17)\ WeaponDb=0
Nastychoice(17)\ SMovTyp=0
Nastychoice(17)\ Intel=0
Nastychoice(17)\ Shield=8
Nastychoice(17)\ Points=150
Nastychoice(17)\ SSpeedX=2
Nastychoice(17)\ SSpeedY=3
; Kanone
Nastychoice(18)\ SPict=67
Nastychoice(18)\ SWidth=ShapeWidth(Nastychoice(18)\SPict)
Nastychoice(18)\ SHeight=ShapeHeight(Nastychoice(18)\SPict)/5
Nastychoice(18)\ WeaponNr1=15
Nastychoice(18)\ WeaponNr2=15
Nastychoice(18)\ WeaponNr3=15
Nastychoice(18)\ WeaponNr4=15
Nastychoice(18)\ WXplus=(Nastychoice(18)\SWidth ASR 1)-(Nastyshooters(Nastychoice(18)\WeaponNr1)\Width ASR 1)
Nastychoice(18)\ WeaponDb=0
Nastychoice(18)\ SMovTyp=0
Nastychoice(18)\ Intel=0
Nastychoice(18)\ Shield=24
Nastychoice(18)\ Points=300
Nastychoice(18)\ SSpeedX=0
Nastychoice(18)\ SSpeedY=1
; Drohne7
Nastychoice(19)\ SPict=68
Nastychoice(19)\ SWidth=ShapeWidth(Nastychoice(19)\SPict)
Nastychoice(19)\ SHeight=ShapeHeight(Nastychoice(19)\SPict)/5
Nastychoice(19)\ WeaponNr1=17
Nastychoice(19)\ WeaponNr2=17
Nastychoice(19)\ WeaponNr3=17
Nastychoice(19)\ WeaponNr4=17
Nastychoice(19)\ WXplus=(Nastychoice(19)\SWidth ASR 1)-(Nastyshooters(Nastychoice(19)\WeaponNr1)\Width ASR 1)
Nastychoice(19)\ WeaponDb=0
Nastychoice(19)\ SMovTyp=3
Nastychoice(19)\ Intel=0
Nastychoice(19)\ Shield=5
Nastychoice(19)\ Points=45
Nastychoice(19)\ SSpeedX=1
Nastychoice(19)\ SSpeedY=1
Nastychoice(19)\ trailNr=5
; Asteroid
Nastychoice(20)\ SPict=69
Nastychoice(20)\ SWidth=ShapeWidth(Nastychoice(20)\SPict)
Nastychoice(20)\ SHeight=ShapeHeight(Nastychoice(20)\SPict)/5
Nastychoice(20)\ WeaponNr1=16
Nastychoice(20)\ WeaponNr2=16
Nastychoice(20)\ WeaponNr3=16
Nastychoice(20)\ WeaponNr4=16
Nastychoice(20)\ WXplus=(Nastychoice(20)\SWidth ASR 1)-(Nastyshooters(Nastychoice(20)\WeaponNr1)\Width ASR 1)
Nastychoice(20)\ WeaponDb=0
Nastychoice(20)\ SMovTyp=0
Nastychoice(20)\ Intel=0
Nastychoice(20)\ Shield=32
Nastychoice(20)\ Points=200
Nastychoice(20)\ SSpeedX=1
Nastychoice(20)\ SSpeedY=2
; EndNasty3
Nastychoice(21)\ SPict=70
Nastychoice(21)\ SWidth=ShapeWidth(Nastychoice(21)\SPict)
Nastychoice(21)\ SHeight=ShapeHeight(Nastychoice(21)\SPict)/5
Nastychoice(21)\ WeaponNr1=5
Nastychoice(21)\ WeaponNr2=13
Nastychoice(21)\ WeaponNr3=14
Nastychoice(21)\ WeaponNr4=17
Nastychoice(21)\ WXplus=(Nastychoice(21)\SWidth ASR 1)-(Nastyshooters(Nastychoice(21)\WeaponNr1)\Width ASR 1)
Nastychoice(21)\ WeaponDb=0
Nastychoice(21)\ SMovTyp=1
Nastychoice(21)\ Intel=0
Nastychoice(21)\ Shield=300
Nastychoice(21)\ Points=2000
Nastychoice(21)\ SSpeedX=2
Nastychoice(21)\ SSpeedY=2
Nastychoice(21)\SBorderX1=0
Nastychoice(21)\SBorderX2=320-Nastychoice(21)\SHeight
Nastychoice(21)\SBorderY1=8
Nastychoice(21)\SBorderY2=255-Nastychoice(21)\SWidth
; PlantAlien1
Nastychoice(22)\ SPict=81
Nastychoice(22)\ SWidth=ShapeWidth(Nastychoice(22)\SPict)
Nastychoice(22)\ SHeight=ShapeHeight(Nastychoice(22)\SPict)/5
Nastychoice(22)\ WeaponNr1=19
Nastychoice(22)\ WeaponNr2=19
Nastychoice(22)\ WeaponNr3=19
Nastychoice(22)\ WeaponNr4=19
Nastychoice(22)\ WXplus=(Nastychoice(22)\SWidth ASR 1)-(Nastyshooters(Nastychoice(22)\WeaponNr1)\Width ASR 1)
Nastychoice(22)\ WeaponDb=0
Nastychoice(22)\ SMovTyp=0
Nastychoice(22)\ Intel=0
Nastychoice(22)\ Shield=12
Nastychoice(22)\ Points=120
Nastychoice(22)\ SSpeedX=1
Nastychoice(22)\ SSpeedY=2
; PlantAlien2
Nastychoice(23)\ SPict=82
Nastychoice(23)\ SWidth=ShapeWidth(Nastychoice(23)\SPict)
Nastychoice(23)\ SHeight=ShapeHeight(Nastychoice(23)\SPict)/5
Nastychoice(23)\ WeaponNr1=20
Nastychoice(23)\ WeaponNr2=20
Nastychoice(23)\ WeaponNr3=20
Nastychoice(23)\ WeaponNr4=20
Nastychoice(23)\ WXplus=(Nastychoice(23)\SWidth ASR 1)-(Nastyshooters(Nastychoice(23)\WeaponNr1)\Width ASR 1)
Nastychoice(23)\ WeaponDb=0
Nastychoice(23)\ SMovTyp=0
Nastychoice(23)\ Intel=0
Nastychoice(23)\ Shield=12
Nastychoice(23)\ Points=180
Nastychoice(23)\ SSpeedX=1
Nastychoice(23)\ SSpeedY=4
; PlantAlien3
Nastychoice(24)\ SPict=83
Nastychoice(24)\ SWidth=ShapeWidth(Nastychoice(24)\SPict)
Nastychoice(24)\ SHeight=ShapeHeight(Nastychoice(24)\SPict)/5
Nastychoice(24)\ WeaponNr1=21
Nastychoice(24)\ WeaponNr2=21
Nastychoice(24)\ WeaponNr3=21
Nastychoice(24)\ WeaponNr4=21
Nastychoice(24)\ WXplus=(Nastychoice(24)\SWidth ASR 1)-(Nastyshooters(Nastychoice(24)\WeaponNr1)\Width ASR 1)
Nastychoice(24)\ WeaponDb=0
Nastychoice(24)\ SMovTyp=0
Nastychoice(24)\ Intel=0
Nastychoice(24)\ Shield=6
Nastychoice(24)\ Points=100
Nastychoice(24)\ SSpeedX=2
Nastychoice(24)\ SSpeedY=1
; PlantDrohne1
Nastychoice(25)\ SPict=84
Nastychoice(25)\ SWidth=ShapeWidth(Nastychoice(25)\SPict)
Nastychoice(25)\ SHeight=ShapeHeight(Nastychoice(25)\SPict)/5
Nastychoice(25)\ WeaponNr1=18
Nastychoice(25)\ WeaponNr2=18
Nastychoice(25)\ WeaponNr3=18
Nastychoice(25)\ WeaponNr4=18
Nastychoice(25)\ WXplus=(Nastychoice(25)\SWidth ASR 1)-(Nastyshooters(Nastychoice(25)\WeaponNr1)\Width ASR 1)
Nastychoice(25)\ WeaponDb=0
Nastychoice(25)\ SMovTyp=3
Nastychoice(25)\ Intel=0
Nastychoice(25)\ Shield=6
Nastychoice(25)\ Points=70
Nastychoice(25)\ SSpeedX=2
Nastychoice(25)\ SSpeedY=2
Nastychoice(25)\ trailNr=6
; PlantDrohne2
Nastychoice(26)\ SPict=85
Nastychoice(26)\ SWidth=ShapeWidth(Nastychoice(26)\SPict)
Nastychoice(26)\ SHeight=ShapeHeight(Nastychoice(26)\SPict)/5
Nastychoice(26)\ WeaponNr1=5
Nastychoice(26)\ WeaponNr2=5
Nastychoice(26)\ WeaponNr3=5
Nastychoice(26)\ WeaponNr4=5
Nastychoice(26)\ WXplus=(Nastychoice(26)\SWidth ASR 1)-(Nastyshooters(Nastychoice(26)\WeaponNr1)\Width ASR 1)
Nastychoice(26)\ WeaponDb=0
Nastychoice(26)\ SMovTyp=3
Nastychoice(26)\ Intel=0
Nastychoice(26)\ Shield=6
Nastychoice(26)\ Points=50
Nastychoice(26)\ SSpeedX=2
Nastychoice(26)\ SSpeedY=2
Nastychoice(26)\ trailNr=7
; PlantDrohne3
Nastychoice(27)\ SPict=86
Nastychoice(27)\ SWidth=ShapeWidth(Nastychoice(27)\SPict)
Nastychoice(27)\ SHeight=ShapeHeight(Nastychoice(27)\SPict)/5
Nastychoice(27)\ WeaponNr1=2
Nastychoice(27)\ WeaponNr2=2
Nastychoice(27)\ WeaponNr3=2
Nastychoice(27)\ WeaponNr4=2
Nastychoice(27)\ WXplus=(Nastychoice(27)\SWidth ASR 1)-(Nastyshooters(Nastychoice(27)\WeaponNr1)\Width ASR 1)
Nastychoice(27)\ WeaponDb=0
Nastychoice(27)\ SMovTyp=1
Nastychoice(27)\ Intel=0
Nastychoice(27)\ Shield=18
Nastychoice(27)\ Points=150
Nastychoice(27)\ SSpeedX=2
Nastychoice(27)\ SSpeedY=2
Nastychoice(27)\SBorderX1=0
Nastychoice(27)\SBorderX2=320-Nastychoice(27)\SHeight
Nastychoice(27)\SBorderY1=8
Nastychoice(27)\SBorderY2=127-Nastychoice(27)\SWidth
; PlantKamikaze
Nastychoice(28)\ SPict=87
Nastychoice(28)\ SWidth=ShapeWidth(Nastychoice(28)\SPict)
Nastychoice(28)\ SHeight=ShapeHeight(Nastychoice(28)\SPict)/5
Nastychoice(28)\ WeaponNr1=17
Nastychoice(28)\ WeaponNr2=17
Nastychoice(28)\ WeaponNr3=17
Nastychoice(28)\ WeaponNr4=17
Nastychoice(28)\ WXplus=(Nastychoice(28)\SWidth ASR 1)-(Nastyshooters(Nastychoice(28)\WeaponNr1)\Width ASR 1)
Nastychoice(28)\ WeaponDb=0
Nastychoice(28)\ SMovTyp=2
Nastychoice(28)\ Intel=0
Nastychoice(28)\ Shield=12
Nastychoice(28)\ Points=200
Nastychoice(28)\ SSpeedX=3
Nastychoice(28)\ SSpeedY=3
; EndNasty4
Nastychoice(29)\ SPict=93
Nastychoice(29)\ SWidth=ShapeWidth(Nastychoice(29)\SPict)
Nastychoice(29)\ SHeight=ShapeHeight(Nastychoice(29)\SPict)/5
Nastychoice(29)\ WeaponNr1=2
Nastychoice(29)\ WeaponNr2=2
Nastychoice(29)\ WeaponNr3=22
Nastychoice(29)\ WeaponNr4=22
Nastychoice(29)\ WXplus=(Nastychoice(29)\SWidth ASR 1)-(Nastyshooters(Nastychoice(29)\WeaponNr1)\Width ASR 1)
Nastychoice(29)\ WeaponDb=0
Nastychoice(29)\ SMovTyp=1
Nastychoice(29)\ Intel=0
Nastychoice(29)\ Shield=150
Nastychoice(29)\ Points=1000
Nastychoice(29)\ SSpeedX=2
Nastychoice(29)\ SSpeedY=2
Nastychoice(29)\SBorderX1=0
Nastychoice(29)\SBorderX2=320-Nastychoice(29)\SHeight
Nastychoice(29)\SBorderY1=8
Nastychoice(29)\SBorderY2=191-Nastychoice(29)\SWidth
; Dreadnought1
Nastychoice(30)\ SPict=95
Nastychoice(30)\ SWidth=ShapeWidth(Nastychoice(30)\SPict)
Nastychoice(30)\ SHeight=ShapeHeight(Nastychoice(30)\SPict)/5
Nastychoice(30)\ WeaponNr1=23
Nastychoice(30)\ WeaponNr2=23
Nastychoice(30)\ WeaponNr3=23
Nastychoice(30)\ WeaponNr4=23
Nastychoice(30)\ WXplus=(Nastychoice(30)\SWidth ASR 1)-(Nastyshooters(Nastychoice(30)\WeaponNr1)\Width ASR 1)
Nastychoice(30)\ WeaponDb=0
Nastychoice(30)\ SMovTyp=0
Nastychoice(30)\ Intel=0
Nastychoice(30)\ Shield=24
Nastychoice(30)\ Points=250
Nastychoice(30)\ SSpeedX=1
Nastychoice(30)\ SSpeedY=2
; Dreadnought2
Nastychoice(31)\ SPict=96
Nastychoice(31)\ SWidth=ShapeWidth(Nastychoice(31)\SPict)
Nastychoice(31)\ SHeight=ShapeHeight(Nastychoice(31)\SPict)/5
Nastychoice(31)\ WeaponNr1=2
Nastychoice(31)\ WeaponNr2=17
Nastychoice(31)\ WeaponNr3=24
Nastychoice(31)\ WeaponNr4=24
Nastychoice(31)\ WXplus=(Nastychoice(31)\SWidth ASR 1)-(Nastyshooters(Nastychoice(31)\WeaponNr1)\Width ASR 1)
Nastychoice(31)\ WeaponDb=0
Nastychoice(31)\ SMovTyp=0
Nastychoice(31)\ Intel=0
Nastychoice(31)\ Shield=24
Nastychoice(31)\ Points=350
Nastychoice(31)\ SSpeedX=1
Nastychoice(31)\ SSpeedY=2
; Dreadnought3
Nastychoice(32)\ SPict=97
Nastychoice(32)\ SWidth=ShapeWidth(Nastychoice(32)\SPict)
Nastychoice(32)\ SHeight=ShapeHeight(Nastychoice(32)\SPict)/5
Nastychoice(32)\ WeaponNr1=25
Nastychoice(32)\ WeaponNr2=25
Nastychoice(32)\ WeaponNr3=2
Nastychoice(32)\ WeaponNr4=2
Nastychoice(32)\ WXplus=(Nastychoice(32)\SWidth ASR 1)-(Nastyshooters(Nastychoice(32)\WeaponNr1)\Width ASR 1)
Nastychoice(32)\ WeaponDb=0
Nastychoice(32)\ SMovTyp=0
Nastychoice(32)\ Intel=0
Nastychoice(32)\ Shield=24
Nastychoice(32)\ Points=300
Nastychoice(32)\ SSpeedX=0
Nastychoice(32)\ SSpeedY=2
; Drohne8
Nastychoice(33)\ SPict=102
Nastychoice(33)\ SWidth=ShapeWidth(Nastychoice(33)\SPict)
Nastychoice(33)\ SHeight=ShapeHeight(Nastychoice(33)\SPict)/5
Nastychoice(33)\ WeaponNr1=12
Nastychoice(33)\ WeaponNr2=12
Nastychoice(33)\ WeaponNr3=12
Nastychoice(33)\ WeaponNr4=12
Nastychoice(33)\ WXplus=(Nastychoice(33)\SWidth ASR 1)-(Nastyshooters(Nastychoice(33)\WeaponNr1)\Width ASR 1)
Nastychoice(33)\ WeaponDb=0
Nastychoice(33)\ SMovTyp=3
Nastychoice(33)\ Intel=0
Nastychoice(33)\ Shield=8
Nastychoice(33)\ Points=80
Nastychoice(33)\ SSpeedX=2
Nastychoice(33)\ SSpeedY=2
Nastychoice(33)\ trailNr=8
; EndNasty5
Nastychoice(34)\ SPict=98
Nastychoice(34)\ SWidth=ShapeWidth(Nastychoice(34)\SPict)
Nastychoice(34)\ SHeight=ShapeHeight(Nastychoice(34)\SPict)/5
Nastychoice(34)\ WeaponNr1=2
Nastychoice(34)\ WeaponNr2=3
Nastychoice(34)\ WeaponNr3=9
Nastychoice(34)\ WeaponNr4=17
Nastychoice(34)\ WXplus=(Nastychoice(34)\SWidth ASR 1)-(Nastyshooters(Nastychoice(34)\WeaponNr1)\Width ASR 1)
Nastychoice(34)\ WeaponDb=0
Nastychoice(34)\ SMovTyp=1
Nastychoice(34)\ Intel=0
Nastychoice(34)\ Shield=400
Nastychoice(34)\ Points=2500
Nastychoice(34)\ SSpeedX=2
Nastychoice(34)\ SSpeedY=2
Nastychoice(34)\SBorderX1=0
Nastychoice(34)\SBorderX2=320-Nastychoice(34)\SHeight
Nastychoice(34)\SBorderY1=8
Nastychoice(34)\SBorderY2=191-Nastychoice(34)\SWidth
; Basis
Nastychoice(35)\ SPict=103
Nastychoice(35)\ SWidth=ShapeWidth(Nastychoice(35)\SPict)
Nastychoice(35)\ SHeight=ShapeHeight(Nastychoice(35)\SPict)/5
Nastychoice(35)\ WeaponNr1=2
Nastychoice(35)\ WeaponNr2=2
Nastychoice(35)\ WeaponNr3=17
Nastychoice(35)\ WeaponNr4=17
Nastychoice(35)\ WXplus=(Nastychoice(35)\SWidth ASR 1)-(Nastyshooters(Nastychoice(35)\WeaponNr1)\Width ASR 1)
Nastychoice(35)\ WeaponDb=0
Nastychoice(35)\ SMovTyp=0
Nastychoice(35)\ Intel=0
Nastychoice(35)\ Shield=12
Nastychoice(35)\ Points=200
Nastychoice(35)\ SSpeedX=0
Nastychoice(35)\ SSpeedY=1
; EndNasty6
Nastychoice(36)\ SPict=104
Nastychoice(36)\ SWidth=ShapeWidth(Nastychoice(36)\SPict)
Nastychoice(36)\ SHeight=ShapeHeight(Nastychoice(36)\SPict)/5
Nastychoice(36)\ WeaponNr1=27
Nastychoice(36)\ WeaponNr2=27
Nastychoice(36)\ WeaponNr3=17
Nastychoice(36)\ WeaponNr4=17
Nastychoice(36)\ WXplus=(Nastychoice(36)\SWidth ASR 1)-(Nastyshooters(Nastychoice(36)\WeaponNr1)\Width ASR 1)
Nastychoice(36)\ WeaponDb=0
Nastychoice(36)\ SMovTyp=1
Nastychoice(36)\ Intel=0
Nastychoice(36)\ Shield=500
Nastychoice(36)\ Points=5000
Nastychoice(36)\ SSpeedX=1
Nastychoice(36)\ SSpeedY=2
Nastychoice(36)\SBorderX1=0
Nastychoice(36)\SBorderX2=320-Nastychoice(35)\SHeight
Nastychoice(36)\SBorderY1=8
Nastychoice(36)\SBorderY2=255-Nastychoice(35)\SWidth
; Movements of the meanies (?)
.VarHeadtrailen:
Dim L.trail(9)
; Drohne1-trail
L(0)\x=0
L(0)\y=8
L(0)\Counter[0]=100
L(0)\ SpeedX[0]=3
L(0)\ SpeedY[0]=0
L(0)\Counter[1]=9
L(0)\ SpeedX[1]=0
L(0)\ SpeedY[1]=3
L(0)\Counter[2]=100
L(0)\ SpeedX[2]=-3
L(0)\ SpeedY[2]=0
L(0)\Counter[3]=9
L(0)\ SpeedX[3]=0
L(0)\ SpeedY[3]=3
L(0)\Counter[4]=100
L(0)\ SpeedX[4]=3
L(0)\ SpeedY[4]=0
L(0)\Counter[5]=9
L(0)\ SpeedX[5]=0
L(0)\ SpeedY[5]=3
L(0)\Counter[6]=100
L(0)\ SpeedX[6]=-3
L(0)\ SpeedY[6]=0
L(0)\Counter[7]=9
L(0)\ SpeedX[7]=0
L(0)\ SpeedY[7]=3
L(0)\Counter[8]=100
L(0)\ SpeedX[8]=3
L(0)\ SpeedY[8]=0
L(0)\Counter[9]=9
L(0)\ SpeedX[9]=0
L(0)\ SpeedY[9]=3
L(0)\Counter[10]=100
L(0)\ SpeedX[10]=-3
L(0)\ SpeedY[10]=0
L(0)\Counter[11]=9
L(0)\ SpeedX[11]=0
L(0)\ SpeedY[11]=3
L(0)\Counter[12]=101
L(0)\ SpeedX[12]=3
L(0)\ SpeedY[12]=0
; Drohne2-trail
L(1)\x=298
L(1)\y=9
L(1)\Counter[0]=99
L(1)\ SpeedX[0]=-3
L(1)\ SpeedY[0]=1
L(1)\Counter[1]=49
L(1)\ SpeedX[1]=3
L(1)\ SpeedY[1]=1
L(1)\Counter[2]=50
L(1)\ SpeedX[2]=3
L(1)\ SpeedY[2]=-1
L(1)\Counter[3]=100
L(1)\ SpeedX[3]=-3
L(1)\ SpeedY[3]=-1
; EndNasty1-trail
L(2)\x=131
L(2)\y=8
L(2)\Counter[0]=50
L(2)\ SpeedX[0]=0
L(2)\ SpeedY[0]=1
; Drohne4-trail
L(3)\x=32
L(3)\y=8
L(3)\Counter[0]=8
L(3)\ SpeedX[0]=0
L(3)\ SpeedY[0]=4
L(3)\Counter[1]=60
L(3)\ SpeedX[1]=4
L(3)\ SpeedY[1]=0
L(3)\Counter[2]=8
L(3)\ SpeedX[2]=0
L(3)\ SpeedY[2]=4
L(3)\Counter[3]=60
L(3)\ SpeedX[3]=-4
L(3)\ SpeedY[3]=0
L(3)\Counter[4]=8
L(3)\ SpeedX[4]=0
L(3)\ SpeedY[4]=4
L(3)\Counter[5]=60
L(3)\ SpeedX[5]=4
L(3)\ SpeedY[5]=0
L(3)\Counter[6]=8
L(3)\ SpeedX[6]=0
L(3)\ SpeedY[6]=4
L(3)\Counter[7]=80
L(3)\ SpeedX[7]=-4
L(3)\ SpeedY[7]=0
L(3)\Counter[8]=0
L(3)\ SpeedX[8]=-4
L(3)\ SpeedY[8]=4
; AlienDrohne1trail
L(4)\x=153
L(4)\y=8
L(4)\Counter[0]=38
L(4)\ SpeedX[0]=-4
L(4)\ SpeedY[0]=1
L(4)\Counter[1]=38
L(4)\ SpeedX[1]=4
L(4)\ SpeedY[1]=1
L(4)\Counter[2]=38
L(4)\ SpeedX[2]=4
L(4)\ SpeedY[2]=-1
L(4)\Counter[3]=38
L(4)\ SpeedX[3]=-4
L(4)\ SpeedY[3]=-1
L(4)\Counter[4]=38
L(4)\ SpeedX[4]=-4
L(4)\ SpeedY[4]=2
L(4)\Counter[5]=38
L(4)\ SpeedX[5]=4
L(4)\ SpeedY[5]=2
L(4)\Counter[6]=38
L(4)\ SpeedX[6]=4
L(4)\ SpeedY[6]=-1
L(4)\Counter[7]=38
L(4)\ SpeedX[7]=-4
L(4)\ SpeedY[7]=-1
L(4)\Counter[8]=38
L(4)\ SpeedX[8]=-4
L(4)\ SpeedY[8]=2
L(4)\Counter[9]=50
L(4)\ SpeedX[9]=4
L(4)\ SpeedY[9]=2
; Drohne7-trail
L(5)\x=298
L(5)\y=9
L(5)\Counter[0]=74
L(5)\ SpeedX[0]=-4
L(5)\ SpeedY[0]=1
L(5)\Counter[1]=37
L(5)\ SpeedX[1]=4
L(5)\ SpeedY[1]=1
L(5)\Counter[2]=37
L(5)\ SpeedX[2]=4
L(5)\ SpeedY[2]=-1
L(5)\Counter[3]=100
L(5)\ SpeedX[3]=-4
L(5)\ SpeedY[3]=-1
; PlantDrohne1-trail
L(6)\x=150
L(6)\y=8
L(6)\Counter[0]=30
L(6)\ SpeedX[0]=0
L(6)\ SpeedY[0]=5
L(6)\Counter[1]=28
L(6)\ SpeedX[1]=-4
L(6)\ SpeedY[1]=-5
L(6)\Counter[2]=50
L(6)\ SpeedX[2]=5
L(6)\ SpeedY[2]=1
L(6)\Counter[3]=50
L(6)\ SpeedX[3]=-5
L(6)\ SpeedY[3]=2
L(6)\Counter[4]=50
L(6)\ SpeedX[4]=5
L(6)\ SpeedY[4]=-1
L(6)\Counter[5]=60
L(6)\ SpeedX[5]=-5
L(6)\ SpeedY[5]=-1
; PlantDrohne2-trail
L(7)\x=303
L(7)\y=8
L(7)\Counter[0]=75
L(7)\ SpeedX[0]=-4
L(7)\ SpeedY[0]=0
L(7)\Counter[1]=32
L(7)\ SpeedX[1]=0
L(7)\ SpeedY[1]=4
L(7)\Counter[2]=75
L(7)\ SpeedX[2]=4
L(7)\ SpeedY[2]=0
L(7)\Counter[3]=24
L(7)\ SpeedX[3]=0
L(7)\ SpeedY[3]=-4
L(7)\Counter[4]=65
L(7)\ SpeedX[4]=-4
L(7)\ SpeedY[4]=0
L(7)\Counter[5]=16
L(7)\ SpeedX[5]=0
L(7)\ SpeedY[5]=4
L(7)\Counter[6]=55
L(7)\ SpeedX[6]=4
L(7)\ SpeedY[6]=0
L(7)\Counter[7]=8
L(7)\ SpeedX[7]=0
L(7)\ SpeedY[7]=-4
L(7)\Counter[8]=75
L(7)\ SpeedX[8]=-4
L(7)\ SpeedY[8]=0
; Drohne8-trail
L(8)\x=0
L(8)\y=8
L(8)\Counter[0]=55
L(8)\ SpeedX[0]=0
L(8)\ SpeedY[0]=4
L(8)\Counter[1]=8
L(8)\ SpeedX[1]=4
L(8)\ SpeedY[1]=0
L(8)\Counter[2]=55
L(8)\ SpeedX[2]=0
L(8)\ SpeedY[2]=-4
L(8)\Counter[3]=20
L(8)\ SpeedX[3]=4
L(8)\ SpeedY[3]=0
L(8)\Counter[4]=55
L(8)\ SpeedX[4]=0
L(8)\ SpeedY[4]=4
L(8)\Counter[5]=8
L(8)\ SpeedX[5]=4
L(8)\ SpeedY[5]=0
L(8)\Counter[6]=55
L(8)\ SpeedX[6]=0
L(8)\ SpeedY[6]=-4
L(8)\Counter[7]=20
L(8)\ SpeedX[7]=4
L(8)\ SpeedY[7]=0
L(8)\Counter[8]=55
L(8)\ SpeedX[8]=0
L(8)\ SpeedY[8]=4
L(8)\Counter[9]=8
L(8)\ SpeedX[9]=4
L(8)\ SpeedY[9]=0
L(8)\Counter[10]=55
L(8)\ SpeedX[10]=0
L(8)\ SpeedY[10]=-4
L(8)\Counter[11]=20
L(8)\ SpeedX[11]=4
L(8)\ SpeedY[11]=0
; variable instructions for each level
.VarLevel:
Dim Lev.Level(7)
Lev(1)\ R=0
Lev(1)\ G=0
Lev(1)\ B=0
Lev(1)\ Counter=0
Lev(1)\NastyComing[0]=32
Lev(1)\NastyKilled[0]=32
Lev(1)\ NastyCount[0]=5
Lev(1)\ ShotCount[0]=3
Lev(1)\ NastyType1[0]=0
Lev(1)\ NastyType2[0]=0
Lev(1)\ NastyType3[0]=0
Lev(1)\ NastyType4[0]=0
Lev(1)\ NastySpace[0]=10
Lev(1)\NShotSpace[0]=32
Lev(1)\NastyComing[1]=32
Lev(1)\NastyKilled[1]=32
Lev(1)\ NastyCount[1]=3
Lev(1)\ ShotCount[1]=3
Lev(1)\ NastyType1[1]=1
Lev(1)\ NastyType2[1]=1
Lev(1)\ NastyType3[1]=1
Lev(1)\ NastyType4[1]=1
Lev(1)\ NastySpace[1]=10
Lev(1)\NShotSpace[1]=32
Lev(1)\NastyComing[2]=24
Lev(1)\NastyKilled[2]=24
Lev(1)\ NastyCount[2]=4
Lev(1)\ ShotCount[2]=4
Lev(1)\ NastyType1[2]=2
Lev(1)\ NastyType2[2]=2
Lev(1)\ NastyType3[2]=2
Lev(1)\ NastyType4[2]=2
Lev(1)\ NastySpace[2]=50
Lev(1)\NShotSpace[2]=32
Lev(1)\NastyComing[3]=24
Lev(1)\NastyKilled[3]=24
Lev(1)\ NastyCount[3]=5
Lev(1)\ ShotCount[3]=3
Lev(1)\ NastyType1[3]=3
Lev(1)\ NastyType2[3]=3
Lev(1)\ NastyType3[3]=3
Lev(1)\ NastyType4[3]=3
Lev(1)\ NastySpace[3]=25
Lev(1)\NShotSpace[3]=32
Lev(1)\NastyComing[4]=32
Lev(1)\NastyKilled[4]=32
Lev(1)\ NastyCount[4]=4
Lev(1)\ ShotCount[4]=3
Lev(1)\ NastyType1[4]=4
Lev(1)\ NastyType2[4]=4
Lev(1)\ NastyType3[4]=4
Lev(1)\ NastyType4[4]=4
Lev(1)\ NastySpace[4]=10
Lev(1)\NShotSpace[4]=32
Lev(1)\NastyComing[5]=32
Lev(1)\NastyKilled[5]=32
Lev(1)\ NastyCount[5]=5
Lev(1)\ ShotCount[5]=3
Lev(1)\ NastyType1[5]=0
Lev(1)\ NastyType2[5]=0
Lev(1)\ NastyType3[5]=5
Lev(1)\ NastyType4[5]=5
Lev(1)\ NastySpace[5]=10
Lev(1)\NShotSpace[5]=32
Lev(1)\NastyComing[6]=16
Lev(1)\NastyKilled[6]=16
Lev(1)\ NastyCount[6]=5
Lev(1)\ ShotCount[6]=3
Lev(1)\ NastyType1[6]=6
Lev(1)\ NastyType2[6]=6
Lev(1)\ NastyType3[6]=6
Lev(1)\ NastyType4[6]=6
Lev(1)\ NastySpace[6]=25
Lev(1)\NShotSpace[6]=32
Lev(1)\NastyComing[7]=32
Lev(1)\NastyKilled[7]=32
Lev(1)\ NastyCount[7]=4
Lev(1)\ ShotCount[7]=4
Lev(1)\ NastyType1[7]=2
Lev(1)\ NastyType2[7]=2
Lev(1)\ NastyType3[7]=3
Lev(1)\ NastyType4[7]=3
Lev(1)\ NastySpace[7]=25
Lev(1)\NShotSpace[7]=32
Lev(1)\NastyComing[8]=32
Lev(1)\NastyKilled[8]=32
Lev(1)\ NastyCount[8]=5
Lev(1)\ ShotCount[8]=3
Lev(1)\ NastyType1[8]=1
Lev(1)\ NastyType2[8]=4
Lev(1)\ NastyType3[8]=5
Lev(1)\ NastyType4[8]=6
Lev(1)\ NastySpace[8]=25
Lev(1)\NShotSpace[8]=32
Lev(1)\NastyComing[9]=1
Lev(1)\NastyKilled[9]=1
Lev(1)\ NastyCount[9]=1
Lev(1)\ ShotCount[9]=9
Lev(1)\ NastyType1[9]=7
Lev(1)\ NastyType2[9]=7
Lev(1)\ NastyType3[9]=7
Lev(1)\ NastyType4[9]=7
Lev(1)\ NastySpace[9]=1
Lev(1)\NShotSpace[9]=8
Lev(2)\ R=3
Lev(2)\ G=0
Lev(2)\ B=0
Lev(2)\ Counter=0
Lev(2)\NastyComing[0]=32
Lev(2)\NastyKilled[0]=32
Lev(2)\ NastyCount[0]=5
Lev(2)\ ShotCount[0]=3
Lev(2)\ NastyType1[0]=8
Lev(2)\ NastyType2[0]=8
Lev(2)\ NastyType3[0]=8
Lev(2)\ NastyType4[0]=8
Lev(2)\ NastySpace[0]=5
Lev(2)\NShotSpace[0]=32
Lev(2)\NastyComing[1]=32
Lev(2)\NastyKilled[1]=32
Lev(2)\ NastyCount[1]=4
Lev(2)\ ShotCount[1]=3
Lev(2)\ NastyType1[1]=9
Lev(2)\ NastyType2[1]=9
Lev(2)\ NastyType3[1]=9
Lev(2)\ NastyType4[1]=9
Lev(2)\ NastySpace[1]=25
Lev(2)\NShotSpace[1]=32
Lev(2)\NastyComing[2]=32
Lev(2)\NastyKilled[2]=32
Lev(2)\ NastyCount[2]=4
Lev(2)\ ShotCount[2]=3
Lev(2)\ NastyType1[2]=10
Lev(2)\ NastyType2[2]=10
Lev(2)\ NastyType3[2]=10
Lev(2)\ NastyType4[2]=10
Lev(2)\ NastySpace[2]=25
Lev(2)\NShotSpace[2]=32
Lev(2)\NastyComing[3]=16
Lev(2)\NastyKilled[3]=16
Lev(2)\ NastyCount[3]=4
Lev(2)\ ShotCount[3]=3
Lev(2)\ NastyType1[3]=13
Lev(2)\ NastyType2[3]=13
Lev(2)\ NastyType3[3]=13
Lev(2)\ NastyType4[3]=13
Lev(2)\ NastySpace[3]=50
Lev(2)\NShotSpace[3]=32
Lev(2)\NastyComing[4]=16
Lev(2)\NastyKilled[4]=16
Lev(2)\ NastyCount[4]=5
Lev(2)\ ShotCount[4]=4
Lev(2)\ NastyType1[4]=8
Lev(2)\ NastyType2[4]=8
Lev(2)\ NastyType3[4]=9
Lev(2)\ NastyType4[4]=9
Lev(2)\ NastySpace[4]=25
Lev(2)\NShotSpace[4]=32
Lev(2)\NastyComing[5]=32
Lev(2)\NastyKilled[5]=32
Lev(2)\ NastyCount[5]=4
Lev(2)\ ShotCount[5]=3
Lev(2)\ NastyType1[5]=11
Lev(2)\ NastyType2[5]=11
Lev(2)\ NastyType3[5]=11
Lev(2)\ NastyType4[5]=11
Lev(2)\ NastySpace[5]=50
Lev(2)\NShotSpace[5]=32
Lev(2)\NastyComing[6]=32
Lev(2)\NastyKilled[6]=32
Lev(2)\ NastyCount[6]=4
Lev(2)\ ShotCount[6]=3
Lev(2)\ NastyType1[6]=9
Lev(2)\ NastyType2[6]=9
Lev(2)\ NastyType3[6]=10
Lev(2)\ NastyType4[6]=10
Lev(2)\ NastySpace[6]=25
Lev(2)\NShotSpace[6]=32
Lev(2)\NastyComing[7]=32
Lev(2)\NastyKilled[7]=32
Lev(2)\ NastyCount[7]=5
Lev(2)\ ShotCount[7]=3
Lev(2)\ NastyType1[7]=8
Lev(2)\ NastyType2[7]=8
Lev(2)\ NastyType3[7]=13
Lev(2)\ NastyType4[7]=13
Lev(2)\ NastySpace[7]=25
Lev(2)\NShotSpace[7]=32
Lev(2)\NastyComing[8]=32
Lev(2)\NastyKilled[8]=32
Lev(2)\ NastyCount[8]=3
Lev(2)\ ShotCount[8]=3
Lev(2)\ NastyType1[8]=9
Lev(2)\ NastyType2[8]=9
Lev(2)\ NastyType3[8]=10
Lev(2)\ NastyType4[8]=11
Lev(2)\ NastySpace[8]=25
Lev(2)\NShotSpace[8]=32
Lev(2)\NastyComing[9]=1
Lev(2)\NastyKilled[9]=1
Lev(2)\ NastyCount[9]=1
Lev(2)\ ShotCount[9]=9
Lev(2)\ NastyType1[9]=12
Lev(2)\ NastyType2[9]=12
Lev(2)\ NastyType3[9]=12
Lev(2)\ NastyType4[9]=12
Lev(2)\ NastySpace[9]=1
Lev(2)\NShotSpace[9]=12
Lev(3)\ R=0
Lev(3)\ G=0
Lev(3)\ B=4
Lev(3)\ Counter=0
Lev(3)\NastyComing[0]=32
Lev(3)\NastyKilled[0]=32
Lev(3)\ NastyCount[0]=5
Lev(3)\ ShotCount[0]=2
Lev(3)\ NastyType1[0]=19
Lev(3)\ NastyType2[0]=19
Lev(3)\ NastyType3[0]=19
Lev(3)\ NastyType4[0]=19
Lev(3)\ NastySpace[0]=8
Lev(3)\NShotSpace[0]=32
Lev(3)\NastyComing[1]=32
Lev(3)\NastyKilled[1]=32
Lev(3)\ NastyCount[1]=3
Lev(3)\ ShotCount[1]=0
Lev(3)\ NastyType1[1]=20
Lev(3)\ NastyType2[1]=20
Lev(3)\ NastyType3[1]=20
Lev(3)\ NastyType4[1]=20
Lev(3)\ NastySpace[1]=25
Lev(3)\NShotSpace[1]=127
Lev(3)\NastyComing[2]=32
Lev(3)\NastyKilled[2]=32
Lev(3)\ NastyCount[2]=3
Lev(3)\ ShotCount[2]=3
Lev(3)\ NastyType1[2]=17
Lev(3)\ NastyType2[2]=17
Lev(3)\ NastyType3[2]=17
Lev(3)\ NastyType4[2]=20
Lev(3)\ NastySpace[2]=10
Lev(3)\NShotSpace[2]=32
Lev(3)\NastyComing[3]=32
Lev(3)\NastyKilled[3]=32
Lev(3)\ NastyCount[3]=4
Lev(3)\ ShotCount[3]=3
Lev(3)\ NastyType1[3]=15
Lev(3)\ NastyType2[3]=15
Lev(3)\ NastyType3[3]=15
Lev(3)\ NastyType4[3]=20
Lev(3)\ NastySpace[3]=25
Lev(3)\NShotSpace[3]=32
Lev(3)\NastyComing[4]=32
Lev(3)\NastyKilled[4]=32
Lev(3)\ NastyCount[4]=3
Lev(3)\ ShotCount[4]=3
Lev(3)\ NastyType1[4]=16
Lev(3)\ NastyType2[4]=16
Lev(3)\ NastyType3[4]=20
Lev(3)\ NastyType4[4]=20
Lev(3)\ NastySpace[4]=25
Lev(3)\NShotSpace[4]=32
Lev(3)\NastyComing[5]=32
Lev(3)\NastyKilled[5]=32
Lev(3)\ NastyCount[5]=4
Lev(3)\ ShotCount[5]=0
Lev(3)\ NastyType1[5]=20
Lev(3)\ NastyType2[5]=20
Lev(3)\ NastyType3[5]=20
Lev(3)\ NastyType4[5]=20
Lev(3)\ NastySpace[5]=10
Lev(3)\NShotSpace[5]=32
Lev(3)\NastyComing[6]=32
Lev(3)\NastyKilled[6]=32
Lev(3)\ NastyCount[6]=4
Lev(3)\ ShotCount[6]=4
Lev(3)\ NastyType1[6]=14
Lev(3)\ NastyType2[6]=14
Lev(3)\ NastyType3[6]=14
Lev(3)\ NastyType4[6]=14
Lev(3)\ NastySpace[6]=10
Lev(3)\NShotSpace[6]=64
Lev(3)\NastyComing[7]=16
Lev(3)\NastyKilled[7]=16
Lev(3)\ NastyCount[7]=1
Lev(3)\ ShotCount[7]=1
Lev(3)\ NastyType1[7]=15
Lev(3)\ NastyType2[7]=15
Lev(3)\ NastyType3[7]=18
Lev(3)\ NastyType4[7]=18
Lev(3)\ NastySpace[7]=25
Lev(3)\NShotSpace[7]=32
Lev(3)\NastyComing[8]=32
Lev(3)\NastyKilled[8]=32
Lev(3)\ NastyCount[8]=4
Lev(3)\ ShotCount[8]=2
Lev(3)\ NastyType1[8]=19
Lev(3)\ NastyType2[8]=19
Lev(3)\ NastyType3[8]=20
Lev(3)\ NastyType4[8]=20
Lev(3)\ NastySpace[8]=10
Lev(3)\NShotSpace[8]=32
Lev(3)\NastyComing[9]=1
Lev(3)\NastyKilled[9]=1
Lev(3)\ NastyCount[9]=1
Lev(3)\ ShotCount[9]=9
Lev(3)\ NastyType1[9]=21
Lev(3)\ NastyType2[9]=21
Lev(3)\ NastyType3[9]=21
Lev(3)\ NastyType4[9]=21
Lev(3)\ NastySpace[9]=127
Lev(3)\NShotSpace[9]=16
Lev(4)\ R=0
Lev(4)\ G=2
Lev(4)\ B=0
Lev(4)\ Counter=0
Lev(4)\NastyComing[0]=32
Lev(4)\NastyKilled[0]=32
Lev(4)\ NastyCount[0]=5
Lev(4)\ ShotCount[0]=4
Lev(4)\ NastyType1[0]=26
Lev(4)\ NastyType2[0]=26
Lev(4)\ NastyType3[0]=26
Lev(4)\ NastyType4[0]=26
Lev(4)\ NastySpace[0]=5
Lev(4)\NShotSpace[0]=48
Lev(4)\NastyComing[1]=32
Lev(4)\NastyKilled[1]=32
Lev(4)\ NastyCount[1]=4
Lev(4)\ ShotCount[1]=3
Lev(4)\ NastyType1[1]=22
Lev(4)\ NastyType2[1]=22
Lev(4)\ NastyType3[1]=22
Lev(4)\ NastyType4[1]=22
Lev(4)\ NastySpace[1]=25
Lev(4)\NShotSpace[1]=64
Lev(4)\NastyComing[2]=32
Lev(4)\NastyKilled[2]=32
Lev(4)\ NastyCount[2]=5
Lev(4)\ ShotCount[2]=4
Lev(4)\ NastyType1[2]=25
Lev(4)\ NastyType2[2]=25
Lev(4)\ NastyType3[2]=25
Lev(4)\ NastyType4[2]=25
Lev(4)\ NastySpace[2]=8
Lev(4)\NShotSpace[2]=2
Lev(4)\NastyComing[3]=32
Lev(4)\NastyKilled[3]=32
Lev(4)\ NastyCount[3]=4
Lev(4)\ ShotCount[3]=4
Lev(4)\ NastyType1[3]=23
Lev(4)\ NastyType2[3]=23
Lev(4)\ NastyType3[3]=23
Lev(4)\ NastyType4[3]=23
Lev(4)\ NastySpace[3]=25
Lev(4)\NShotSpace[3]=48
Lev(4)\NastyComing[4]=24
Lev(4)\NastyKilled[4]=24
Lev(4)\ NastyCount[4]=4
Lev(4)\ ShotCount[4]=4
Lev(4)\ NastyType1[4]=27
Lev(4)\ NastyType2[4]=27
Lev(4)\ NastyType3[4]=27
Lev(4)\ NastyType4[4]=28
Lev(4)\ NastySpace[4]=25
Lev(4)\NShotSpace[4]=32
Lev(4)\NastyComing[5]=24
Lev(4)\NastyKilled[5]=24
Lev(4)\ NastyCount[5]=4
Lev(4)\ ShotCount[5]=4
Lev(4)\ NastyType1[5]=24
Lev(4)\ NastyType2[5]=24
Lev(4)\ NastyType3[5]=24
Lev(4)\ NastyType4[5]=24
Lev(4)\ NastySpace[5]=15
Lev(4)\NShotSpace[5]=64
Lev(4)\NastyComing[6]=32
Lev(4)\NastyKilled[6]=32
Lev(4)\ NastyCount[6]=5
Lev(4)\ ShotCount[6]=4
Lev(4)\ NastyType1[6]=25
Lev(4)\ NastyType2[6]=25
Lev(4)\ NastyType3[6]=26
Lev(4)\ NastyType4[6]=26
Lev(4)\ NastySpace[6]=8
Lev(4)\NShotSpace[6]=32
Lev(4)\NastyComing[7]=32
Lev(4)\NastyKilled[7]=32
Lev(4)\ NastyCount[7]=4
Lev(4)\ ShotCount[7]=4
Lev(4)\ NastyType1[7]=22
Lev(4)\ NastyType2[7]=22
Lev(4)\ NastyType3[7]=27
Lev(4)\ NastyType4[7]=27
Lev(4)\ NastySpace[7]=25
Lev(4)\NShotSpace[7]=32
Lev(4)\NastyComing[8]=32
Lev(4)\NastyKilled[8]=32
Lev(4)\ NastyCount[8]=4
Lev(4)\ ShotCount[8]=4
Lev(4)\ NastyType1[8]=22
Lev(4)\ NastyType2[8]=23
Lev(4)\ NastyType3[8]=23
Lev(4)\ NastyType4[8]=28
Lev(4)\ NastySpace[8]=15
Lev(4)\NShotSpace[8]=32
Lev(4)\NastyComing[9]=2
Lev(4)\NastyKilled[9]=2
Lev(4)\ NastyCount[9]=1
Lev(4)\ ShotCount[9]=4
Lev(4)\ NastyType1[9]=29
Lev(4)\ NastyType2[9]=29
Lev(4)\ NastyType3[9]=29
Lev(4)\ NastyType4[9]=29
Lev(4)\ NastySpace[9]=50
Lev(4)\NShotSpace[9]=40
Lev(5)\ R=0
Lev(5)\ G=0
Lev(5)\ B=5
Lev(5)\ Counter=0
Lev(5)\NastyComing[0]=16
Lev(5)\NastyKilled[0]=16
Lev(5)\ NastyCount[0]=2
Lev(5)\ ShotCount[0]=5
Lev(5)\ NastyType1[0]=30
Lev(5)\ NastyType2[0]=30
Lev(5)\ NastyType3[0]=30
Lev(5)\ NastyType4[0]=30
Lev(5)\ NastySpace[0]=40
Lev(5)\NShotSpace[0]=64
Lev(5)\NastyComing[1]=16
Lev(5)\NastyKilled[1]=16
Lev(5)\ NastyCount[1]=2
Lev(5)\ ShotCount[1]=5
Lev(5)\ NastyType1[1]=31
Lev(5)\ NastyType2[1]=31
Lev(5)\ NastyType3[1]=32
Lev(5)\ NastyType4[1]=32
Lev(5)\ NastySpace[1]=25
Lev(5)\NShotSpace[1]=64
Lev(5)\NastyComing[2]=24
Lev(5)\NastyKilled[2]=24
Lev(5)\ NastyCount[2]=4
Lev(5)\ ShotCount[2]=5
Lev(5)\ NastyType1[2]=2
Lev(5)\ NastyType2[2]=2
Lev(5)\ NastyType3[2]=13
Lev(5)\ NastyType4[2]=13
Lev(5)\ NastySpace[2]=25
Lev(5)\NShotSpace[2]=32
Lev(5)\NastyComing[3]=16
Lev(5)\NastyKilled[3]=16
Lev(5)\ NastyCount[3]=2
Lev(5)\ ShotCount[3]=5
Lev(5)\ NastyType1[3]=30
Lev(5)\ NastyType2[3]=30
Lev(5)\ NastyType3[3]=31
Lev(5)\ NastyType4[3]=31
Lev(5)\ NastySpace[3]=25
Lev(5)\NShotSpace[3]=64
Lev(5)\NastyComing[4]=24
Lev(5)\NastyKilled[4]=24
Lev(5)\ NastyCount[4]=3
Lev(5)\ ShotCount[4]=5
Lev(5)\ NastyType1[4]=13
Lev(5)\ NastyType2[4]=15
Lev(5)\ NastyType3[4]=32
Lev(5)\ NastyType4[4]=32
Lev(5)\ NastySpace[4]=25
Lev(5)\NShotSpace[4]=48
Lev(5)\NastyComing[5]=32
Lev(5)\NastyKilled[5]=32
Lev(5)\ NastyCount[5]=5
Lev(5)\ ShotCount[5]=4
Lev(5)\ NastyType1[5]=33
Lev(5)\ NastyType2[5]=33
Lev(5)\ NastyType3[5]=33
Lev(5)\ NastyType4[5]=33
Lev(5)\ NastySpace[5]=5
Lev(5)\NShotSpace[5]=64
Lev(5)\NastyComing[6]=32
Lev(5)\NastyKilled[6]=32
Lev(5)\ NastyCount[6]=4
Lev(5)\ ShotCount[6]=4
Lev(5)\ NastyType1[6]=9
Lev(5)\ NastyType2[6]=10
Lev(5)\ NastyType3[6]=10
Lev(5)\ NastyType4[6]=11
Lev(5)\ NastySpace[6]=20
Lev(5)\NShotSpace[6]=48
Lev(5)\NastyComing[7]=24
Lev(5)\NastyKilled[7]=24
Lev(5)\ NastyCount[7]=3
Lev(5)\ ShotCount[7]=4
Lev(5)\ NastyType1[7]=15
Lev(5)\ NastyType2[7]=15
Lev(5)\ NastyType3[7]=27
Lev(5)\ NastyType4[7]=27
Lev(5)\ NastySpace[7]=25
Lev(5)\NShotSpace[7]=32
Lev(5)\NastyComing[8]=24
Lev(5)\NastyKilled[8]=24
Lev(5)\ NastyCount[8]=2
Lev(5)\ ShotCount[8]=5
Lev(5)\ NastyType1[8]=30
Lev(5)\ NastyType2[8]=30
Lev(5)\ NastyType3[8]=31
Lev(5)\ NastyType4[8]=32
Lev(5)\ NastySpace[8]=25
Lev(5)\NShotSpace[8]=64
Lev(5)\NastyComing[9]=1
Lev(5)\NastyKilled[9]=1
Lev(5)\ NastyCount[9]=1
Lev(5)\ ShotCount[9]=4
Lev(5)\ NastyType1[9]=34
Lev(5)\ NastyType2[9]=34
Lev(5)\ NastyType3[9]=34
Lev(5)\ NastyType4[9]=34
Lev(5)\ NastySpace[9]=127
Lev(5)\NShotSpace[9]=8
Lev(6)\ R=2
Lev(6)\ G=2
Lev(6)\ B=2
Lev(6)\ Counter=0
Lev(6)\NastyComing[0]=32
Lev(6)\NastyKilled[0]=32
Lev(6)\ NastyCount[0]=5
Lev(6)\ ShotCount[0]=3
Lev(6)\ NastyType1[0]=0
Lev(6)\ NastyType2[0]=0
Lev(6)\ NastyType3[0]=0
Lev(6)\ NastyType4[0]=0
Lev(6)\ NastySpace[0]=8
Lev(6)\NShotSpace[0]=32
Lev(6)\NastyComing[1]=32
Lev(6)\NastyKilled[1]=32
Lev(6)\ NastyCount[1]=4
Lev(6)\ ShotCount[1]=4
Lev(6)\ NastyType1[1]=3
Lev(6)\ NastyType2[1]=3
Lev(6)\ NastyType3[1]=14
Lev(6)\ NastyType4[1]=14
Lev(6)\ NastySpace[1]=15
Lev(6)\NShotSpace[1]=64
Lev(6)\NastyComing[2]=24
Lev(6)\NastyKilled[2]=24
Lev(6)\ NastyCount[2]=5
Lev(6)\ ShotCount[2]=5
Lev(6)\ NastyType1[2]=35
Lev(6)\ NastyType2[2]=35
Lev(6)\ NastyType3[2]=35
Lev(6)\ NastyType4[2]=35
Lev(6)\ NastySpace[2]=40
Lev(6)\NShotSpace[2]=48
Lev(6)\NastyComing[3]=32
Lev(6)\NastyKilled[3]=32
Lev(6)\ NastyCount[3]=5
Lev(6)\ ShotCount[3]=5
Lev(6)\ NastyType1[3]=25
Lev(6)\ NastyType2[3]=25
Lev(6)\ NastyType3[3]=26
Lev(6)\ NastyType4[3]=26
Lev(6)\ NastySpace[3]=8
Lev(6)\NShotSpace[3]=48
Lev(6)\NastyComing[4]=32
Lev(6)\NastyKilled[4]=32
Lev(6)\ NastyCount[4]=4
Lev(6)\ ShotCount[4]=4
Lev(6)\ NastyType1[4]=3
Lev(6)\ NastyType2[4]=3
Lev(6)\ NastyType3[4]=17
Lev(6)\ NastyType4[4]=17
Lev(6)\ NastySpace[4]=25
Lev(6)\NShotSpace[4]=64
Lev(6)\NastyComing[5]=24
Lev(6)\NastyKilled[5]=24
Lev(6)\ NastyCount[5]=3
Lev(6)\ ShotCount[5]=4
Lev(6)\ NastyType1[5]=30
Lev(6)\ NastyType2[5]=31
Lev(6)\ NastyType3[5]=32
Lev(6)\ NastyType4[5]=35
Lev(6)\ NastySpace[5]=20
Lev(6)\NShotSpace[5]=48
Lev(6)\NastyComing[6]=16
Lev(6)\NastyKilled[6]=16
Lev(6)\ NastyCount[6]=4
Lev(6)\ ShotCount[6]=5
Lev(6)\ NastyType1[6]=1
Lev(6)\ NastyType2[6]=4
Lev(6)\ NastyType3[6]=8
Lev(6)\ NastyType4[6]=19
Lev(6)\ NastySpace[6]=8
Lev(6)\NShotSpace[6]=48
Lev(6)\NastyComing[7]=24
Lev(6)\NastyKilled[7]=24
Lev(6)\ NastyCount[7]=4
Lev(6)\ ShotCount[7]=4
Lev(6)\ NastyType1[7]=22
Lev(6)\ NastyType2[7]=23
Lev(6)\ NastyType3[7]=24
Lev(6)\ NastyType4[7]=28
Lev(6)\ NastySpace[7]=15
Lev(6)\NShotSpace[7]=48
Lev(6)\NastyComing[8]=24
Lev(6)\NastyKilled[8]=24
Lev(6)\ NastyCount[8]=4
Lev(6)\ ShotCount[8]=4
Lev(6)\ NastyType1[8]=11
Lev(6)\ NastyType2[8]=16
Lev(6)\ NastyType3[8]=24
Lev(6)\ NastyType4[8]=35
Lev(6)\ NastySpace[8]=15
Lev(6)\NShotSpace[8]=48
Lev(6)\NastyComing[9]=1
Lev(6)\NastyKilled[9]=1
Lev(6)\ NastyCount[9]=1
Lev(6)\ ShotCount[9]=9
Lev(6)\ NastyType1[9]=36
Lev(6)\ NastyType2[9]=36
Lev(6)\ NastyType3[9]=36
Lev(6)\ NastyType4[9]=36
Lev(6)\ NastySpace[9]=127
Lev(6)\NShotSpace[9]=16
; Array for equilateral appearing spaceships
Dim G.Nasty(10)
; Array for meany bullets
Dim F.Shot(10)
BLITZ
Statement Clear{}
Cls 0
UnQueue 0
UnQueue 1
End Statement
BlitzKeys On
; Initialise Bitmaps, 2 Queues (Double-Buffering) and Displays
BitMap 0,320,256*5,1 ; Interleaved setup
BitMap 1,320,256*5,1 ;
patchbitmap{0,2} ; Display these pseudo-bitmaps
patchbitmap{1,3} ;
#txt=5
BitPlanesBitMap 2,#txt,2
BitPlanesBitMap 3,#txt+1,2
Queue 0,50
Queue 1,50
InitCopList 0,54,238,$5,8,32,16 ;
#BPLCON2=%0000000000100100
;DisplayAdjust 0,-4,8,-8,16,-16 ; NOW USING LESS SCREEN
DisplayControls 0,#BPLCON2,0,0
DisplayBitMap 0,2
CreateDisplay 0
InitShape 160,16,256,2
GetaSprite 0,160 : GetaSprite 1,160 : GetaSprite 2,160 : GetaSprite 3,160
init_star_data { Peek.l (Addr Sprite(0)),?star_speeds } : display_star{0}
init_star_data { Peek.l (Addr Sprite(1)),?star_speeds+14 } : display_star{1}
init_star_data { Peek.l (Addr Sprite(2)),?star_speeds+29 } : display_star{2}
init_star_data { Peek.l (Addr Sprite(3)),?star_speeds+44 } : display_star{3}
starspeed.b=2
SetInt 5
b=QWrap(b+1,0,6)
If b=0 Then scroll_stars_y_down{Peek.l(Addr Sprite(2)),starspeed}
If b=0 OR b=3 Then scroll_stars_y_down{Peek.l(Addr Sprite(3)),starspeed}
If b=0 OR b=2 OR b=4 Then scroll_stars_y_down{Peek.l(Addr Sprite(1)),starspeed}
scroll_stars_y_down{Peek.l(Addr Sprite(0)),starspeed}
End SetInt
;------------------------------------------------------------------
.TitelPict:
Pictcurrent.w=-1
Sound 11,12
PickShip.b=1 ; Spaceship selection (1-5)
PickLevel.b=1 ; Level selection (1-6)
Points.l=0 ; Players Health - dies when it reaches 0(?)
Dim LevelStatus.b(6) ; 0=Speedaft, 1=Anwaehlbar, 2=Muss erPlayt werden
LevelStatus(0)=1
LevelStatus(1)=2
LevelStatus(2)=2
LevelStatus(3)=2
LevelStatus(4)=2
LevelStatus(5)=2
Dim ShipStatus.b(5) ; 0=destroyed, 1=Anwaehlbar, 2=Muss erPlayt werden
ShipStatus(0)=1
ShipStatus(1)=2
ShipStatus(2)=2
ShipStatus(3)=2
ShipStatus(4)=2
PalRGB 0,0,0,0,0
DisplayBitMap 0,2
DisplayPalette 0,0
Use BitMap 0
Clear{}
Format ""
UnQueue 0
UnQueue 1
For i.b=1 To 50
QBlit 0,Rnd(20),Rnd(288),(Int(Rnd(55)+8))*5
QBlit 1,Rnd(20),Rnd(288),(Int(Rnd(55)+8))*5
Next i
Blit 108,19,80
Blit 109,189,345
BitMapOutput #txt
PLoc{0,13," BY MICHAEL ROSSKOPF & WIREMU TEKANI "}
PLoc{0,15," Version 1.5 ---- September 1999 "}
Fire.b=1
Repeat
VWait
j.b=Rnd(64)
If j=0 Then Sound 0,Rnd(15)+1
Pictcurrent+1
If Pictcurrent=0
PLoc{0,17," "}
PLoc{0,19," FREE PLAY "}
PLoc{0,21," "}
PLoc{0,23," PRESS FIRE TO LAUNCH THE MISSION, "}
PLoc{0,25," ESC TO QUIT "}
PLoc{0,27," HIGHSCORE FOLLOWS SHORTLY "}
EndIf
If Pictcurrent=400
PLoc{0,17," "}
PLoc{0,19," "}
PLoc{0,21," "}
PLoc{0,23," "}
PLoc{0,25," "}
PLoc{0,27," "}
PLoc{0,17," ALL TIME PILOTS (PRESS D TO DELETE) "}
PLoc{0,19," 1. "+HighscoreNamen$(0)}
PLoc{0,21," 2. "+HighscoreNamen$(1)}
PLoc{0,23," 3. "+HighscoreNamen$(2)}
PLoc{0,25," 4. "+HighscoreNamen$(3)}
PLoc{0,27," 5. "+HighscoreNamen$(4)}
PLoc{18,19,Str$(HighscorePoints(0))}
PLoc{18,21,Str$(HighscorePoints(1))}
PLoc{18,23,Str$(HighscorePoints(2))}
PLoc{18,25,Str$(HighscorePoints(3))}
PLoc{18,27,Str$(HighscorePoints(4))}
PLoc{28,19,"Mission "+Str$(HighscoreLevel(0))}
PLoc{28,21,"Mission "+Str$(HighscoreLevel(1))}
PLoc{28,23,"Mission "+Str$(HighscoreLevel(2))}
PLoc{28,25,"Mission "+Str$(HighscoreLevel(3))}
PLoc{28,27,"Mission "+Str$(HighscoreLevel(4))}
i=-1
Repeat
i=i+1
If HighscoreLevel(i)=1 Then PLoc{35,19+(i ASL 1)," "}
Until i=4
EndIf
If Pictcurrent=799 Then Pictcurrent=-1
If RawStatus(69)=-1 AND Fire=0 Then Goto Ende
If RawStatus(34)=-1 AND Pictcurrent>399
HighscoreNamen$(0)="Michael "
HighscoreNamen$(1)="Marco "
HighscoreNamen$(2)="Wiremu T"
HighscoreNamen$(3)="Michael "
HighscoreNamen$(4)="Marco "
HighscorePoints(0)=50000
HighscorePoints(1)=40000
HighscorePoints(2)=30000
HighscorePoints(3)=20000
HighscorePoints(4)=10000
HighscoreLevel(0)=5
HighscoreLevel(1)=4
HighscoreLevel(2)=3
HighscoreLevel(3)=2
HighscoreLevel(4)=1
Pictcurrent=399
EndIf
If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0 Then Goto Levelstart
If Joyb(1)=0 AND RawStatus(69)=0 AND RawStatus(96)=0 Then Fire=0
Forever
;------------------------------------------------------------------
.Levelstart:
Sound 11,12
PalRGB 0,0,0,0,0
DisplayBitMap 0,2
DisplayPalette 0,0
Use BitMap 0
Clear{}
BitMapOutput #txt
; Check which ship player can use
i.b=0
j.b=5
Repeat
j=j-1
If ShipStatus(j)=1 Then i=i+1:PickShip=j+1
Until j=0
If i=1
PLoc{0,21,"YOUR SHIP FOR THIS MISSION (PRESS FIRE) "}
Else
PLoc{0,21,"SELECT YOUR SHIP (LEFT, RIGHT, FIRE) "}
EndIf
PLoc{13,23,"NAME : "}
PLoc{13,24,"CLASS : "}
PLoc{13,26,"SPEED : "}
PLoc{13,27,"SHIELD: "}
PLoc{13,28,"WEAPON: "}
; Check which level player can do
i.b=0
j.b=6
Repeat
j=j-1
If LevelStatus(j)=1 Then i=i+1:PickLevel=j+1
Until j=0
If i>1
PLoc{0,19,"SELECT A MISSION (UP, DOWN) "}
Else
PLoc{0,19," "}
EndIf
Fire.b=1
i.b=10
Repeat
VWait
UnQueue 0
QBlit 0,S(PickShip)\SPict,51-(S(PickShip)\SWidth ASR 1),(231-S(PickShip)\SHeight)*5
Select PickLevel
Case 1
PLoc{0,00,"LOOK FOR LOCATION "}
PLoc{0,01," "}
PLoc{0,02,"Our scanners have located an enormous "}
PLoc{0,03,"planetoid which seems to have jumped "}
PLoc{0,04,"into our system, heading for our main "}
PLoc{0,05,"planet, NEW PORT. "}
PLoc{0,06," "}
PLoc{0,07,"We want you to fly to the planetoid "}
PLoc{0,08,"to get more information, but be "}
PLoc{0,09,"careful! "}
PLoc{0,10," "}
PLoc{0,11,"Longrange-scans show small objects "}
PLoc{0,12,"that fly like our guardian drones. "}
PLoc{0,13," "}
PLoc{0,14,"We may be under attack. Clarify the "}
PLoc{0,15,"situation. "}
PLoc{0,16," "}
PLoc{0,17,"Good luck! "}
PLoc{0,18," "}
Case 2
PLoc{0,00,"SHIELD GENERATOR: BLOOD FOG "}
PLoc{0,01," "}
PLoc{0,02,"One of the shield-generators is in "}
PLoc{0,03,"a location called the Blood Fog, "}
PLoc{0,04,"where there are gas molecules that "}
PLoc{0,05,"gleam red in the sun. "}
PLoc{0,06," "}
PLoc{0,07,"You will be up aginst principal "}
PLoc{0,08,"Gretchin-fighters. "}
PLoc{0,09," "}
PLoc{0,10,"Be careful, they manoevre quickly. "}
PLoc{0,11,"In front of the generator is a "}
PLoc{0,12,"very heavy battlecruiser. "}
PLoc{0,13," "}
PLoc{0,14,"For this mission, you'll need a "}
PLoc{0,15,"combination of speed and firepower! "}
PLoc{0,16," "}
PLoc{0,17,"See you later (I hope!) "}
PLoc{0,18," "}
Case 3
PLoc{0,00,"SHIELD GENERATOR: ASTEROIDS "}
PLoc{0,01," "}
PLoc{0,02,"One of the shield-generators is on "}
PLoc{0,03,"the dark side of the planetoid. "}
PLoc{0,04," "}
PLoc{0,05,"We believe there are many asteroids "}
PLoc{0,06,"and objects that have broken off of "}
PLoc{0,07,"it. "}
PLoc{0,08," "}
PLoc{0,09,"These asteroids are very hard to "}
PLoc{0,10,"crack. Take a heavy ship with "}
PLoc{0,11,"good shields and lots of firepower. "}
PLoc{0,12," "}
PLoc{0,13,"DO IT! "}
PLoc{0,14," "}
PLoc{0,15," "}
PLoc{0,16," "}
PLoc{0,17," "}
PLoc{0,18," "}
Case 4
PLoc{0,00,"SHIELD GENERATOR: STRANGE SHIPS "}
PLoc{0,01," "}
PLoc{0,02,"We've detected the shield generator is"}
PLoc{0,03,"being protected by ships we think are "}
PLoc{0,04,"from an UNKNOWN alien species. "}
PLoc{0,05," "}
PLoc{0,06,"We don't know how strong they are "}
PLoc{0,07,"so we have to assume the worst. "}
PLoc{0,08," "}
PLoc{0,09,"Some of them are very fast so don't "}
PLoc{0,10,"take a slow ship. "}
PLoc{0,11," "}
PLoc{0,12,"We need more information about them. "}
PLoc{0,13,"They're not hard to find. They move "}
PLoc{0,14,"in large green-cloud formations. "}
PLoc{0,15," "}
PLoc{0,16,"Show them what a good pilot can do! "}
PLoc{0,17," "}
PLoc{0,18," "}
Case 5
PLoc{0,00,"ENEMY ATMOSPHERE "}
PLoc{0,01," "}
PLoc{0,02,"The generators and the planetoids "}
PLoc{0,03,"shields are gone, but it's still "}
PLoc{0,04,"heading for New Port. "}
PLoc{0,05," "}
PLoc{0,06,"We've seen a structure that looks like"}
PLoc{0,07,"an interstellar cannon. It could turn "}
PLoc{0,08,"New Port into an asteroid belt. "}
PLoc{0,09," "}
PLoc{0,10,"Dive into the thin atmosphere of the "}
PLoc{0,11,"planetoid and find a weak-spot. "}
PLoc{0,12," "}
PLoc{0,13,"Everything counts on you! "}
PLoc{0,14," "}
PLoc{0,15,"P.S. Look out for LARGE ships. "}
PLoc{0,16," "}
PLoc{0,17," "}
PLoc{0,18," "}
Case 6
PLoc{0,00,"FINAL FIGHT"}
PLoc{0,01," "}
PLoc{0,02,"We found an entrance in the planetoid "}
PLoc{0,03,"with ships flying in and out of it. "}
PLoc{0,04,"This must be enemy command central. "}
PLoc{0,05," "}
PLoc{0,06,"Here lies the evil brain that wants to"}
PLoc{0,07,"destroy our planet and our lives. Here"}
PLoc{0,08,"you'll meet your final adversary. "}
PLoc{0,09," "}
PLoc{0,10,"But time is short: The space cannon on"}
PLoc{0,11,"the planetoid has turned on New Port. "}
PLoc{0,12," "}
PLoc{0,13,"So pick a ship and show the evil brain"}
PLoc{0,14,"who annaihilates who. Take him out! "}
PLoc{0,15," "}
PLoc{0,16,"A million lives are depending on you! "}
PLoc{0,17," "}
PLoc{0,18," "}
End Select
Select PickShip
Case 1
PLoc{21,23,"HONEY BEE "}
PLoc{21,24,"PATROL SHIP "}
PLoc{21,26,"FAST "}
PLoc{21,27,"VERY LOW "}
PLoc{21,28,"2 SECURITY LASERS "}
Case 2
PLoc{21,23,"VINDICATOR "}
PLoc{21,24,"FIGHTER "}
PLoc{21,26,"MEDIUM "}
PLoc{21,27,"LOW "}
PLoc{21,28,"4 ION GUNS "}
Case 3
PLoc{21,23,"CANNONBOAT "}
PLoc{21,24,"HEAVY SUPPORT "}
PLoc{21,26,"SLOW "}
PLoc{21,27,"GREAT "}
PLoc{21,28,"8 MILITARY LASERS "}
Case 4
PLoc{21,23,"SUPERNOVA "}
PLoc{21,24,"EXPERIMENTAL CRAFT"}
PLoc{21,26,"MEDIUM "}
PLoc{21,27,"MEDIUM "}
PLoc{21,28,"2 PLASMA GUNS "}
Case 5
PLoc{21,23,"BATTLEMASTER "}
PLoc{21,24,"DESTROYER "}
PLoc{21,26,"SLOW "}
PLoc{21,27,"MAXIMUM "}
PLoc{21,28,"TORPEDO LAUNCHER "}
End Select
If RawStatus(69)=-1 Then Goto TitelPict
If Joyx(1)=-1 OR RawStatus(79)=-1 AND PickShip>1 AND i=0
j.b=PickShip-1
Repeat
j=j-1
If ShipStatus(j)=1 Then PickShip=PickShip-((PickShip-1)-j):i=2:j=0:Sound 11,12
Until j=0
EndIf
If Joyx(1)=1 OR RawStatus(78)=-1 AND PickShip<5 AND i=0
j.b=PickShip-1
Repeat
j=j+1
If ShipStatus(j)=1 Then PickShip=PickShip+(j-(PickShip-1)):i=2:j=4:Sound 11,12
Until j=4
EndIf
If Joyy(1)=1 OR RawStatus(77)=-1 AND PickLevel>1 AND i=0
j.b=PickLevel-1
Repeat
j=j-1
If LevelStatus(j)=1 Then PickLevel=PickLevel-((PickLevel-1)-j):i=2:j=0:Sound 11,12
Until j=0
EndIf
If Joyy(1)=-1 OR RawStatus(76)=-1 AND PickLevel<6 AND i=0
j.b=PickLevel-1
Repeat
j=j+1
If LevelStatus(j)=1 Then PickLevel=PickLevel+(j-(PickLevel-1)):i=2:j=5:Sound 11,12
Until j=5
EndIf
If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0 Then j=10
If i>0 Then i=i-1
If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
Until j=10
BitMapOutput 2
For j.b=0 To 30
PLoc{0,j," "}
Next j
BitMapOutput #txt
PalRGB 0,0,Lev(PickLevel)\R,Lev(PickLevel)\G,Lev(PickLevel)\B
Flc.w=((Lev(PickLevel)\R+1)LSL8)+((Lev(PickLevel)\G+1)LSL4)+(Lev(PickLevel)\B+1)
DisplayPalette 0,0
PLoc{0,10," Get Ready "}
Sound 6,3
i.b=6
Repeat
VWait(5)
i=i-1
Format "0"
PLoc{19,12,Str$(i)}
Until i=0
PLoc{0,10," "}
PLoc{19,12," "}
Fire.b=1 ; Prevent own Ship from firing immediately
; Transfer of the powered Shipes out of List on users Variables
S(0)\ SPict=S(PickShip)\SPict
S(0)\ WPict=S(PickShip)\WPict
S(0)\ SWidth=S(PickShip)\SWidth
S(0)\ SHeight=S(PickShip)\SHeight
S(0)\ WWidth=S(PickShip)\WWidth
S(0)\ WHeight=S(PickShip)\WHeight
S(0)\ SSpeed=S(PickShip)\SSpeed
S(0)\ WSpeed=S(PickShip)\WSpeed
S(0)\ Shield=S(PickShip)\Shield
S(0)\Damage=S(PickShip)\Damage
S(0)\ WXplus=S(PickShip)\WXplus
S(0)\ WeaponDb=S(PickShip)\WeaponDb
; Fixing the Position of the Shipes
S(0)\Sx=160-(S(0)\SWidth ASR 1)
S(0)\Sy=235-S(0)\SHeight
; Transfer the powered Level on users Variables
Lev(0)\R=Lev(PickLevel)\R
Lev(0)\G=Lev(PickLevel)\G
Lev(0)\B=Lev(PickLevel)\B
Lev(0)\Counter=0
For i.b=0 To 10
Lev(0)\NastyComing[i]=Lev(PickLevel)\NastyComing[i]
Lev(0)\NastyKilled[i]=Lev(PickLevel)\NastyKilled[i]
Lev(0)\ NastyCount[i]=Lev(PickLevel)\NastyCount[i]
Lev(0)\ ShotCount[i]=Lev(PickLevel)\ShotCount[i]
Lev(0)\ NastyType1[i]=Lev(PickLevel)\NastyType1[i]
Lev(0)\ NastyType2[i]=Lev(PickLevel)\NastyType2[i]
Lev(0)\ NastyType3[i]=Lev(PickLevel)\NastyType3[i]
Lev(0)\ NastyType4[i]=Lev(PickLevel)\NastyType4[i]
Lev(0)\ NastySpace[i]=Lev(PickLevel)\NastySpace[i]
Lev(0)\NShotSpace[i]=Lev(PickLevel)\NShotSpace[i]
Next i
; shooters, Nasty and Nastyshooters sitting on Status 0
S(0)\WStatus[0]=0
S(0)\WStatus[1]=0
For i.b=0 To 9
G(i)\SStatus=0
F(i)\Status=0
Next i
G(9)\trailCounter=0 ; Prevent, that Player by Hit eines Nastys finishing were
BitMapOutput #txt
Clear{}
Format "000000"
PLoc{0,0,"SCORE: "+Str$(Points)}
Format "00"
PLoc{20,0,"SHIELD: "+Str$(S(0)\Shield)+" / "+Str$(S(PickShip)\Shield)+" "}
BitMapOutput #txt+1
Format "000000"
PLoc{0,0,"SCORE: "+Str$(Points)}
Format "00"
PLoc{20,0,"SHIELD: "+Str$(S(0)\Shield)+" / "+Str$(S(PickShip)\Shield)+" "}
; Mainpart
.Mainpart:
._Score
If expenditure>0 ; Update of the Score and Shield
BitMapOutput #txt+db
Format "000000"
PLoc{7,0,Str$(Points)}
Format "00"
PLoc{28,0,Str$(S(0)\Shield)}
expenditure-1
EndIf
VWait
DisplayBitMap 0,2+db:db=1-db:Use BitMap db
UnQueue db
._Boom
; Admin and description of the Explosionen
i.b=-1
Repeat ; Cycle through 8 Ships blowing up + Your own
i=i+1
If G(i)\SStatus=2 ; If exploding
QBlit db,G(i)\trailCounter,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2) ; draw boom
G(i)\trailCounter+1 ; next boompic
If G(i)\trailCounter=25 Then G(i)\SStatus=0 ; finished? DEAD!
If G(9)\trailCounter=25 Then Goto Ship_lost ; YOU'RE DEAD!
EndIf
Until i=9
._PlayerFire
; Admin and description the Bulletshooters
i.b=-1
Repeat
i=i+1
If F(i)\Status=1
If F(i)\x<-F(i)\SpeedX OR F(i)\x>319-F(i)\Width-F(i)\SpeedX Then F(i)\x=319-F(i)\Width-F(i)\SpeedX:F(i)\Status=0
If F(i)\Typ=2 ; LenkWeaponn
If S(0)\Sx+(S(0)\SWidth ASR 1)<F(i)\x Then F(i)\x-1
If S(0)\Sx+(S(0)\SWidth ASR 1)>F(i)\x Then F(i)\x+1
EndIf
If F(i)\y>253-F(i)\Height-F(i)\SpeedY Then F(i)\y=253-F(i)\Height-F(i)\SpeedY:F(i)\Status=0
F(i)\x=F(i)\x+F(i)\SpeedX
F(i)\y=F(i)\y+F(i)\SpeedY
QBlit db,F(i)\Pict+(db&F(i)\WeaponDb),F(i)\x,F(i)\y+((F(i)\y)ASL2)
EndIf
Until i=Lev(0)\ShotCount[Lev(0)\Counter]
._NastyShips
; Admin and description the Nastyischen Shipe
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=1
If G(i)\SMovTyp=0 ; Normale movements
If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX Then G(i)\SSpeedX=-G(i)\SSpeedX
If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
EndIf
EndIf
If G(i)\SMovTyp=1 ; movements in vorbestimmten Bereich
If G(i)\Sx<-G(i)\SSpeedX OR G(i)\SBorderX1>G(i)\Sx-G(i)\SSpeedX AND G(i)\SSpeedX<0 Then G(i)\SSpeedX=-G(i)\SSpeedX
If G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX OR G(i)\Sx>G(i)\SBorderX2+G(i)\SSpeedX AND G(i)\SSpeedX>0
G(i)\SSpeedX=-G(i)\SSpeedX
EndIf
If G(i)\Sy<-G(i)\SSpeedY+8 OR G(i)\SBorderY1>G(i)\Sy-G(i)\SSpeedY AND G(i)\SSpeedY<0 Then G(i)\SSpeedY=-G(i)\SSpeedY
If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY OR G(i)\Sy>G(i)\SBorderY2-G(i)\SSpeedY AND G(i)\SSpeedY>0
G(i)\SSpeedY=-G(i)\SSpeedY
EndIf
EndIf
If G(i)\SMovTyp=2 ; Kamikaze-movements
If G(i)\Sx<S(0)\Sx AND G(i)\SSpeedX<0 Then G(i)\SSpeedX=-G(i)\SSpeedX
If G(i)\Sx>S(0)\Sx AND G(i)\SSpeedX>0 Then G(i)\SSpeedX=-G(i)\SSpeedX
If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
EndIf
EndIf
If G(i)\SMovTyp=3 ; movements on Headtrail
If G(i)\trailCounter=L(G(i)\trailNr)\Counter[G(i)\trailSek]
G(i)\trailCounter=0
G(i)\trailSek=G(i)\trailSek+1
G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX[G(i)\trailSek]
G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY[G(i)\trailSek]
If L(G(i)\trailNr)\Counter[G(i)\trailSek]=0
G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX[G(i)\trailSek]
G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY[G(i)\trailSek]
G(i)\SMovTyp=1
EndIf
EndIf
If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX
G(i)\SSpeedX=-G(i)\SSpeedX:G(i)\SStatus=0
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
EndIf
If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
EndIf
G(i)\trailCounter=G(i)\trailCounter+1
EndIf
G(i)\Sx=G(i)\Sx+G(i)\SSpeedX
G(i)\Sy=G(i)\Sy+G(i)\SSpeedY
QBlit db,G(i)\SPict,G(i)\Sx,G(i)\Sy+((G(i)\Sy)ASL2)
._NastyFire
; NastyShip fire
j.b=Rnd(Lev(0)\NShotSpace[Lev(0)\Counter])
If j=0 AND G(i)\Sy<192-G(i)\SHeight
j.b=-1
Repeat
j=j+1
If F(j)\Status=0
Sound 12,8
GS.b=Rnd(4)
Select GS
Case 0
ShotTyp.b=G(i)\WeaponNr1
Case 1
ShotTyp.b=G(i)\WeaponNr2
Case 2
ShotTyp.b=G(i)\WeaponNr3
Case 3
ShotTyp.b=G(i)\WeaponNr4
End Select
F(j)\ Pict=Nastyshooters(ShotTyp)\Pict
F(j)\ Width=Nastyshooters(ShotTyp)\Width
F(j)\ Height=Nastyshooters(ShotTyp)\Height
F(j)\ WeaponDb=Nastyshooters(ShotTyp)\WeaponDb
F(j)\ Typ=Nastyshooters(ShotTyp)\Typ
F(j)\Status=1
F(j)\ x=G(i)\Sx+G(i)\WXplus
F(j)\ y=G(i)\Sy+4
F(j)\SpeedX=Rnd(Nastyshooters(ShotTyp)\SpeedX)*(Rnd(2)-1)
F(j)\SpeedY=Nastyshooters(ShotTyp)\SpeedY
If F(j)\Typ=1
Angle.q=QAngle(F(j)\x,F(j)\y,S(0)\Sx+(S(0)\SWidth ASR 1),S(0)\Sy+(S(0)\SHeight ASR 1))
Angle=Angle*6.283
F(j)\SpeedX=Int(Cos(Angle)*F(j)\SpeedY)
F(j)\SpeedY=Int(Sin(Angle)*F(j)\SpeedY)
EndIf
j=Lev(0)\ShotCount[Lev(0)\Counter]
EndIf
Until j=Lev(0)\ShotCount[Lev(0)\Counter]
EndIf
EndIf
Until i=Lev(0)\NastyCount[Lev(0)\Counter]
;MOVE #$444,$dff180
._PlayerShip
; movements (Joystick selection) and description of the Shipes
If RawStatus(69)=-1 Then Goto TitelPict
If RawStatus(25)=-1
Repeat
starspeed.b=0
VWait
Until Joyb(1)>0 OR RawStatus(96)=-1
starspeed.b=2
Fire=1
EndIf
If Joyx(1)=-1 OR RawStatus(79)=-1 AND S(0)\Sx>S(0)\SSpeed Then S(0)\Sx-S(0)\SSpeed ; links
If Joyx(1)=1 OR RawStatus(78)=-1 AND S(0)\Sx<319-S(0)\SWidth-S(0)\SSpeed Then S(0)\Sx+S(0)\SSpeed
If Joyb(1)>0 OR RawStatus(96)=-1 AND S(0)\WPause=0 AND Fire.b=0
If S(0)\WStatus[0]=0
S(0)\WStatus[0]=1:S(0)\Wx[0]=S(0)\Sx+S(0)\WXplus:S(0)\Wy[0]=S(0)\Sy:S(0)\WPause=S(PickShip)\WPause:Fire=1
Sound PickShip,1
Else
If S(0)\WStatus[1]=0
S(0)\WStatus[1]=1:S(0)\Wx[1]=S(0)\Sx+S(0)\WXplus:S(0)\Wy[1]=S(0)\Sy:S(0)\WPause=S(PickShip)\WPause:Fire=1
Sound PickShip,1
EndIf
EndIf
EndIf
If BlitColl(S(0)\SPict,S(0)\Sx,S(0)\Sy+((S(0)\Sy)ASL2)) ; own SpaceShip put Hit ein
S(0)\Shield=S(0)\Shield-1
If S(0)\Shield>0 AND S(PickShip)\Shield<(S(0)\Shield ASL 2)
Sound 7,2
Else
If S(0)\Shield>0 Then Sound 8,2
EndIf
expenditure=2
If S(0)\Shield=0 ; own SpaceShip destroyed
Sound 10,15
G(9)\SStatus=2:G(9)\trailCounter=0
G(9)\Sx=QLimit(S(0)\Sx+((S(0)\SWidth-32) ASR 1),0,288)
G(9)\Sy=QLimit(S(0)\Sy+((S(0)\SHeight-32) ASR 1),0,223)
EndIf
EndIf
If G(9)\SStatus=0 Then QBlit db,S(0)\SPict,S(0)\Sx,S(0)\Sy+((S(0)\Sy)ASL2)
;MOVE #$440,$dff180
; Admin and description the every Salvos and Hit
If S(0)\WStatus[0]=1
S(0)\Wy[0]=S(0)\Wy[0]-S(0)\WSpeed
If S(0)\Wy[0]<8 Then S(0)\WStatus[0]=0:S(0)\Wy[0]=8
If BlitColl(S(0)\WPict,S(0)\Wx[0],S(0)\Wy[0]+((S(0)\Wy[0])LSL2))
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=1
If ((G(i)\Sx+(G(i)\SWidth ASR 1))/40)=((S(0)\Wx[0]+(S(0)\WWidth ASR 1))/40)
If (G(i)\Sy/40)=(S(0)\Wy[0]/40)
S(0)\WStatus[0]=0
G(i)\Shield=G(i)\Shield-S(0)\Damage
Sound 11,4
If G(i)\Shield<1
G(i)\SStatus=2:G(i)\trailCounter=0:Points=Points+G(i)\Points:expenditure=2
G(i)\Sx=QLimit(G(i)\Sx+((G(i)\SWidth-32) ASR 1),0,288)
G(i)\Sy=QLimit(G(i)\Sy+((G(i)\SHeight-32) ASR 1),8,224)
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
Sound 9,4
EndIf
i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
EndIf
EndIf
Until i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
QBlit db,S(0)\WPict+(db&S(0)\WeaponDb),S(0)\Wx[0],S(0)\Wy[0]+((S(0)\Wy[0])LSL2)
EndIf
If S(0)\WStatus[1]=1
S(0)\Wy[1]=S(0)\Wy[1]-S(0)\WSpeed
If S(0)\Wy[1]<8 Then S(0)\WStatus[1]=0:S(0)\Wy[1]=8
If BlitColl(S(0)\WPict,S(0)\Wx[1],S(0)\Wy[1]+((S(0)\Wy[1])LSL2))
i.b=-1
; Kollishun detekshun makro
Repeat
i=i+1
If G(i)\SStatus=1
If ((G(i)\Sx+(G(i)\SWidth ASR 1))/40)=((S(0)\Wx[1]+(S(0)\WWidth ASR 1))/40)
If (G(i)\Sy/40)=(S(0)\Wy[1]/40)
S(0)\WStatus[1]=0
G(i)\Shield=G(i)\Shield-S(0)\Damage
Sound 11,4
If G(i)\Shield<1
G(i)\SStatus=2:G(i)\trailCounter=0:Points=Points+G(i)\Points:expenditure=2
G(i)\Sx=QLimit(G(i)\Sx+((G(i)\SWidth-32) ASR 1),0,288)
G(i)\Sy=QLimit(G(i)\Sy+((G(i)\SHeight-32) ASR 1),8,223)
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
Sound 9,4
EndIf
i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
EndIf
EndIf
Until i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
QBlit db,S(0)\WPict+(db&S(0)\WeaponDb),S(0)\Wx[1],S(0)\Wy[1]+((S(0)\Wy[1])LSL2)
EndIf
;MOVE #$040,$dff180
; Neue Nastyische Shipe erscheinen
If Lev(0)\NastySpace[Lev(0)\Counter]=0 AND Lev(0)\NastyComing[Lev(0)\Counter]>0
Lev(0)\NastySpace[Lev(0)\Counter]=Lev(PickLevel)\NastySpace[Lev(0)\Counter]
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=0
Sound Rnd(2)+13,2
Lev(0)\NastyComing[Lev(0)\Counter]=Lev(0)\NastyComing[Lev(0)\Counter]-1
GS.b=Rnd(4)
Select GS
Case 0
NastyShip.b=Lev(0)\NastyType1[Lev(0)\Counter]
Case 1
NastyShip.b=Lev(0)\NastyType2[Lev(0)\Counter]
Case 2
NastyShip.b=Lev(0)\NastyType3[Lev(0)\Counter]
Case 3
NastyShip.b=Lev(0)\NastyType4[Lev(0)\Counter]
End Select
G(i)\ SPict=Nastychoice(NastyShip)\SPict
G(i)\ SWidth=Nastychoice(NastyShip)\SWidth
G(i)\ SHeight=Nastychoice(NastyShip)\SHeight
G(i)\ WXplus=Nastychoice(NastyShip)\WXplus
G(i)\ SMovTyp=Nastychoice(NastyShip)\SMovTyp
G(i)\ WeaponNr1=Nastychoice(NastyShip)\WeaponNr1
G(i)\ WeaponNr2=Nastychoice(NastyShip)\WeaponNr2
G(i)\ WeaponNr3=Nastychoice(NastyShip)\WeaponNr3
G(i)\ WeaponNr4=Nastychoice(NastyShip)\WeaponNr4
G(i)\ Shield=Nastychoice(NastyShip)\Shield
G(i)\ Points=Nastychoice(NastyShip)\Points
j.b=Rnd(2)
If j=0
G(i)\SSpeedX=Nastychoice(NastyShip)\SSpeedX
Else
G(i)\SSpeedX=-(Nastychoice(NastyShip)\SSpeedX)
EndIf
G(i)\ SSpeedY=Rnd(Nastychoice(NastyShip)\SSpeedY)+1
G(i)\ SBorderX1=Nastychoice(NastyShip)\SBorderX1
G(i)\ SBorderX2=Nastychoice(NastyShip)\SBorderX2
G(i)\ SBorderY1=Nastychoice(NastyShip)\SBorderY1
G(i)\ SBorderY2=Nastychoice(NastyShip)\SBorderY2
G(i)\ trailNr=Nastychoice(NastyShip)\trailNr
G(i)\ SStatus=1
G(i)\ Sx=Rnd(320-Nastychoice(NastyShip)\SWidth)
G(i)\ Sy=8
G(i)\ trailSek=0
G(i)\trailCounter=0
If G(i)\ SMovTyp=3
G(i)\Sx=L(G(i)\trailNr)\x
G(i)\Sy=L(G(i)\trailNr)\y
G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX
G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY
EndIf
i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
Until i=Lev(0)\NastyCount[Lev(0)\Counter]
EndIf
; Counter
If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
If S(0)\WPause>0 Then S(0)\WPause-1 ; Firepause
Lev(0)\NastySpace[Lev(0)\Counter]-1 ; Counter for new Nastys
If Lev(0)\NastyComing[Lev(0)\Counter]<1
If Lev(0)\NastyKilled[Lev(0)\Counter]<1
i.b=-1:j.b=0
Repeat
i+1
If G(i)\SStatus>0 Then j=1
Until i=Lev(0)\NastyCount[Lev(0)\Counter]
i.b=-1
Repeat
i+1
If F(i)\Status=1 Then j=1
Until i=Lev(0)\ShotCount[Lev(0)\Counter]
If j=0
Lev(0)\Counter=Lev(0)\Counter+1
If Lev(0)\NastyComing[Lev(0)\Counter]=0 Then Goto Levelende
EndIf
EndIf
EndIf
;Poke.w $dff180,Flc
Goto Mainpart
.Levelende:
If PickLevel=1
LevelStatus(0)=0
LevelStatus(1)=1
LevelStatus(2)=1
LevelStatus(3)=1
ShipStatus(1)=1
EndIf
If PickLevel=2 OR PickLevel=3 OR PickLevel=4
LevelStatus(PickLevel-1)=0
If ShipStatus(2)=2
ShipStatus(2)=1
Else
If ShipStatus(3)=2
ShipStatus(3)=1
Else
If ShipStatus(4)=2
ShipStatus(4)=2
EndIf
EndIf
EndIf
If LevelStatus(1)=0 AND LevelStatus(2)=0 AND LevelStatus(3)=0
LevelStatus(4)=1
ShipStatus(4)=1
EndIf
EndIf
If PickLevel=5 Then LevelStatus(4)=0:LevelStatus(5)=1
If PickLevel=6 Then LevelStatus(5)=0:Gosub Endsequence
DisplayBitMap 0,2
DisplayPalette 0,0
Use BitMap 0
Cls
VWait 2
BitMapOutput #txt
Select PickLevel
Case 1
PLoc{0,00," Great work! Our carrier will meet you"}
PLoc{0,01," shortly. "}
PLoc{0,02," "}
PLoc{0,03," Your scanners show us the planetoid "}
PLoc{0,04," is in fact an enormous starship. "}
PLoc{0,05," The darkside must have a large ion "}
PLoc{0,06," pulse driver moving it toward us. "}
PLoc{0,07," "}
PLoc{0,08," There are radio messages from the "}
PLoc{0,09," surface. They're in Terran and "}
PLoc{0,10," Gretchin languages. "}
PLoc{0,11," "}
PLoc{0,12," We were at war with the Gretchin "}
PLoc{0,13,"species long ago, but we've lived with "}
PLoc{0,14,"them peacefully for the past 200 years."}
PLoc{0,15," "}
PLoc{0,16," We can't call for help because the "}
PLoc{0,17," communication system on New Port has "}
PLoc{0,18," been sabotaged, so we're launching an "}
PLoc{0,19," attack. YOU. "}
PLoc{0,20," "}
PLoc{0,21," The planetoid is protected by a shield"}
PLoc{0,22," held by three generators in space. "}
PLoc{0,23," "}
PLoc{0,24," You have to destroy these generators "}
PLoc{0,25," first. Attack their defenders, then "}
PLoc{0,26," shoot down the generator. "}
PLoc{0,27," "}
PLoc{0,28," You are our best pilot! "}
PLoc{0,29," "}
PLoc{0,30," PRESS FIRE TO CONTINUE "}
Case 5
PLoc{0,10," MISSION COMPLETE! "}
PLoc{0,12," IT'S TIME. "}
PLoc{0,13," COME BACK TO THE CARRIER AND PREPARE "}
PLoc{0,14," YOUR SHIP FOR THE FINAL BATTLE! "}
PLoc{0,20," PRESS FIRE TO CONTINUE "}
Case 6
PLoc{0,00," You have destroyed the evil brain. "}
PLoc{0,01," "}
PLoc{0,02," Our carrier fired torpedos into the "}
PLoc{0,03," planetoids ion-drivers and it exploded"}
PLoc{0,04," brighter than the sun. "}
PLoc{0,05," "}
PLoc{0,06,"After repairing communications, we were"}
PLoc{0,07," contacted by other sun-systems and the"}
PLoc{0,08," head of the Gretchin-Empire. "}
PLoc{0,09," "}
PLoc{0,10," We discovered the human and gretchin "}
PLoc{0,11," attackers were followers of a strange "}
PLoc{0,12," sect that disappeared five years ago "}
PLoc{0,13," with a fleet of stolen battleships. "}
PLoc{0,14," "}
PLoc{0,15," Then there was a THIRD craft. Were "}
PLoc{0,16," there unknown aliens in those ships? "}
PLoc{0,17," "}
PLoc{0,18," We found no wreckage of them. "}
PLoc{0,19," "}
PLoc{0,20," Are there intelligent beings out there"}
PLoc{0,21," manipulating us to destroy ourselves? "}
PLoc{0,22,"We don't know, but in future we'll work"}
PLoc{0,23," with the Gretchin-Empire to prevent "}
PLoc{0,24," further attacks. "}
PLoc{0,25," "}
PLoc{0,26," And now special thanks to you, pilot. "}
PLoc{0,27," You saved the people of New Port. "}
PLoc{0,28," T H A N K Y O U . "}
PLoc{0,29," "}
PLoc{0,30," PRESS FIRE TO CONTINUE "}
Default
PLoc{0,10," MISSION COMPLETE! "}
PLoc{0,11," "}
PLoc{0,12," YOU TOOK OUT THE DEFENCE PERFECTLY "}
PLoc{0,13," AND BLEW UP THE SHIELD-GENERATOR! "}
PLoc{0,14," "}
PLoc{0,15," CONGRATULATIONS! "}
PLoc{0,20," PRESS FIRE TO CONTINUE "}
End Select
Fire.b=1
Repeat
VWait
If RawStatus(69)=-1
For k.b=0 To 30
PLoc{0,k," "}
Next k
Goto TitelPict
EndIf
If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
For k.b=0 To 30
PLoc{0,k," "}
Next k
If PickLevel=6
Sound 11,12
PLoc{0,6," YOU PLAYED A GAME BY "}
PLoc{0,8," MICHAEL ROSSKOPF & WIREMU TEKANI "}
PLoc{0,12," ADDITIONAL STARSHIP-DESIGN: "}
PLoc{0,14," MARCO CHRIST & WIREMU TEKANI "}
PLoc{0,18," EMAIL ME: Michael_Rosskopf@gmx.de "}
PLoc{0,19," Wtekani@netscape.net "}
PLoc{0,22," PRESS FIRE TO CONTINUE "}
Fire.b=1
Repeat
VWait
If RawStatus(69)=-1
For k.b=0 To 30
PLoc{0,k," "}
Next k
Goto TitelPict
EndIf
If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
For k.b=0 To 30
PLoc{0,k," "}
Next k
Goto Highscore ; Play Speedafft
EndIf
If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
Forever
EndIf
Goto Levelstart
EndIf
If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
Forever
.Ship_lost:
ShipStatus(PickShip-1)=0
i.b=-1:j.b=0
Repeat
i=i+1
If ShipStatus(i)=1 Then j=j+1
Until i=4
DisplayBitMap 0,2
DisplayPalette 0,0
Use BitMap 0
BitMapOutput #txt
Clear{}
If j=0
PLoc{0,10," YOU FAILED "}
PLoc{0,12," G A M E O V E R "}
PLoc{0,20," PRESS FIRE TO CONTINUE "}
Else
PLoc{0,10," YOUR SHIP HAS BEEN DESTROYED! "}
PLoc{0,12," YOU HAVE TO FLY THE MISSION AGAIN! "}
PLoc{0,20," PRESS FIRE TO CONTINUE "}
EndIf
Fire.b=1
Repeat
VWait
If RawStatus(69)=-1
For k.b=0 To 30
PLoc{0,k," "}
Next k
Goto TitelPict
EndIf
If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
For k.b=0 To 30
PLoc{0,k," "}
Next k
If j=0 Then Goto Highscore ; GameOver
Goto Levelstart
EndIf
If i>0 Then i=i-1
If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
Forever
Goto Levelstart
.Highscore:
If Points>=HighscorePoints(4)
Sound 11,12
PLoc{0,10," YOU MADE THE HIGHSCORE! "}
PLoc{0,12," PLEASE ENTER YOUR NAME! "}
PLoc{15,14,">"}:PLoc{24,14,"<"}
BitMapInput
Locate 16,14:HighscoreName$=Edit$(8)
If Points>=HighscorePoints(4) Then Platz.b=4
If Points>=HighscorePoints(3) Then Platz.b=3
If Points>=HighscorePoints(2) Then Platz.b=2
If Points>=HighscorePoints(1) Then Platz.b=1
If Points>=HighscorePoints(0) Then Platz.b=0
For i.b=4 To Platz Step -1
If i>0
HighscoreNamen$(i)=HighscoreNamen$(i-1)
HighscorePoints(i)=HighscorePoints(i-1)
HighscoreLevel(i)=HighscoreLevel(i-1)
EndIf
Next i
HighscoreNamen$(Platz)=HighscoreName$
HighscorePoints(Platz)=Points
If PickLevel=1 HighscoreLevel(Platz)=0
If PickLevel=2 OR PickLevel=3 OR PickLevel=4
HighscoreLevel(Platz)=1
If LevelStatus(1)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
If LevelStatus(2)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
If LevelStatus(3)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
EndIf
If PickLevel=5 HighscoreLevel(Platz)=4
If PickLevel=6 HighscoreLevel(Platz)=5
If PickLevel=6 AND LevelStatus(5)=0 Then HighscoreLevel(Platz)=6
Pictcurrent.w=399
Else
Pictcurrent.w=-1
EndIf
Goto TitelPict
.Endsequence
DisplayPalette 0,0
UnQueue 0
UnQueue 1
BitMapOutput #txt
PLoc{0,0," "}
BitMapOutput #txt+1
PLoc{0,0," "}
BitMapOutput #txt
DisplayBitMap 0,2
PLoc{0,10," NOW YOU'VE ANNIHILATED "}
PLoc{0,12," THE EVIL BRAIN "}
PLoc{0,14," THE REMAINING ENEMIES "}
PLoc{0,16," FLEE IN A BLIND PANIC! "}
Pictcurrent.w=-1
Repeat
VWait
Pictcurrent=Pictcurrent+1
Until Pictcurrent>400
For k.b=0 To 30
PLoc{0,k," "}
Next k
PalRGB 0,0,0,0,0
DisplayPalette 0,0
For i.b=0 To 9
G(i)\SStatus=0
F(i)\Status=0
Next i
j.b=0:k.b=0
Repeat
VWait
DisplayBitMap 0,2+db:db=1-db:Use BitMap db
UnQueue db
j=j+1
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=1
If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX Then G(i)\SSpeedX=-G(i)\SSpeedX
If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
EndIf
G(i)\Sx=G(i)\Sx+G(i)\SSpeedX
G(i)\Sy=G(i)\Sy+G(i)\SSpeedY
QBlit db,G(i)\SPict,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2)
EndIf
Until i=4
If j=0 AND k<35
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=0
Sound Rnd(2)+13,2
NastyShip.b=k
k=k+1
G(i)\ SPict=Nastychoice(NastyShip)\SPict
G(i)\ SWidth=Nastychoice(NastyShip)\SWidth
G(i)\ SHeight=Nastychoice(NastyShip)\SHeight
j.b=Rnd(2)
If j=0
G(i)\SSpeedX=Rnd(2)+1
Else
G(i)\SSpeedX=-Rnd(2)+1
EndIf
G(i)\ SSpeedY=Rnd(2)+1
G(i)\ SBorderX1=Nastychoice(NastyShip)\SBorderX1
G(i)\ SBorderX2=Nastychoice(NastyShip)\SBorderX2
G(i)\ SBorderY1=Nastychoice(NastyShip)\SBorderY1
G(i)\ SBorderY2=Nastychoice(NastyShip)\SBorderY2
G(i)\ SStatus=1
G(i)\ Sx=Rnd(320-Nastychoice(NastyShip)\SWidth)
G(i)\ Sy=0
i=4
EndIf
Until i=4
EndIf
If j=48 Then j=-1
Until G(0)\SStatus=0 AND G(1)\SStatus=0 AND G(2)\SStatus=0 AND G(3)\SStatus=0 AND G(4)\SStatus=0 AND k=35
k.b=0:j.b=0
Repeat
starspeed=0
VWait
DisplayPalette 0,1
DisplayBitMap 0,2+db:db=1-db:Use BitMap db
UnQueue db
j=j+1
QBlit db,110,92,275
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=2
QBlit db,G(i)\trailCounter,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2)
G(i)\trailCounter=G(i)\trailCounter+1
If G(i)\trailCounter=25 Then G(i)\SStatus=0
EndIf
Until i=8
If j=0
i.b=-1
Repeat
i=i+1
If G(i)\SStatus=0
Sound 9,Rnd(15)+1
G(i)\SStatus=2
G(i)\trailCounter=0
G(i)\Sx=Rnd(93)+92
G(i)\Sy=Rnd(103)+55
k=k+1
i=(k/14)
EndIf
Until i=(k/14)
EndIf
If j=2 Then j=-1
Until k=127
PalRGB 2,0,15,15,15
DisplayPalette 0,2
Sound 10,15
UnQueue 0:UnQueue 1
i.b=16
Repeat
VWait(10)
i=i-1
For i2=0 To 31
PalRGB 2,i2,i,i,i
Next i2
DisplayPalette 0,2
Until i=0
DisplayPalette 0,0
starspeed=2
Return
.Ende:
AMIGA
Zugriff.b=OpenFile(0,"Galagawars.Highscore")
Fields 0,HighscoreNamen$(0)
Fields 0,HighscoreNamen$(1)
Fields 0,HighscoreNamen$(2)
Fields 0,HighscoreNamen$(3)
Fields 0,HighscoreNamen$(4)
Fields 0,HighscorePoints(0)
Fields 0,HighscorePoints(1)
Fields 0,HighscorePoints(2)
Fields 0,HighscorePoints(3)
Fields 0,HighscorePoints(4)
Fields 0,HighscoreLevel(0)
Fields 0,HighscoreLevel(1)
Fields 0,HighscoreLevel(2)
Fields 0,HighscoreLevel(3)
Fields 0,HighscoreLevel(4)
Put 0,0
CloseFile 0
End
.Binaries
.b_allshapes
IncBin "stl:gwars/allshapes.int"
.bpalt0
IncBin "stl:gwars/P1"
.bpalt1
IncBin "stl:gwars/P2"
; Soundloader
s0: IncBin "GalagaWars:Sounds/Intro"
s1: IncBin "GalagaWars:Sounds/Laser"
s2: IncBin "GalagaWars:Sounds/Ion"
s3: IncBin "GalagaWars:Sounds/SchwererLaser"
s4: IncBin "GalagaWars:Sounds/Plasma"
s5: IncBin "GalagaWars:Sounds/Torpedo"
s6: IncBin "GalagaWars:Sounds/Start"
s7: IncBin "GalagaWars:Sounds/Alarm1"
s8: IncBin "GalagaWars:Sounds/Alarm2"
s9: IncBin "GalagaWars:Sounds/Explosion1"
sa: IncBin "GalagaWars:Sounds/Explosion2"
sb: IncBin "GalagaWars:Sounds/Treffer"
sc: IncBin "GalagaWars:Sounds/Feuer"
sd: IncBin "GalagaWars:Sounds/Jet1"
se: IncBin "GalagaWars:Sounds/Jet2"
;LoadBlitzFont 0,"2001.font"
; Players attributes
Even
star_speeds:
Dc.b 41,53,61,23,21,81,25,26,03,37,24,15,26,39,08,42
Dc.b 51,84,95,70,42,63,36,25,14,09,22,31,55,66,81,62
Dc.b 05,81,94,57,68,39,46,23,22,51,64,15,76,88,05,32
Dc.b 51,14,85,88,44,11,65,50,12,25,54,14,62,35,57,44